3.1.4雙閾值法二值化操做

 

 

 1 ////3.1.4雙閾值法二值化操做  2 ////利用OpenCV的threshold函數實現雙閾值法二值化操做的源碼!  3 ////SourceCode:https://blog.csdn.net/wenhao_ir/article/details/51566817
 4 #include "opencv2/imgproc/imgproc.hpp"
 5 #include "opencv2/highgui/highgui.hpp"
 6 int main()  7 {  8     // 圖像讀取及判斷
 9     cv::Mat srcImage = cv::imread("D:\\0604.png"); 10     if (!srcImage.data) 11         return 1; 12     // 灰度轉換
13  cv::Mat srcGray; 14  cv::cvtColor(srcImage, srcGray, CV_RGB2GRAY); 15     cv::imshow("srcGray", srcGray); 16     // 初始化閾值參數
17     const int maxVal = 255; 18     int low_threshold = 150; 19     int high_threshold = 210; 20  cv::Mat dstTempImage1, dstTempImage2, dstImage; 21     // 小閾值對源灰度圖像進行閾值化操做
22  cv::threshold(srcGray, dstTempImage1, 23  low_threshold, maxVal, cv::THRESH_BINARY); 24     // 大閾值對源灰度圖像進行閾值化操做
25  cv::threshold(srcGray, dstTempImage2, 26         high_threshold, maxVal, cv::THRESH_BINARY_INV);//要特別注意這裏的最後一個參數是INV哦 27                                                        // 矩陣與運算獲得二值化結果
28  cv::bitwise_and(dstTempImage1, 29  dstTempImage2, dstImage); 30     cv::imshow("dstImage", dstImage); 31     cv::waitKey(0); 32     return 0; 33 }

相關文章
相關標籤/搜索