亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識(shí)庫 > OpenCV清除小面積連通域的實(shí)現(xiàn)方法

OpenCV清除小面積連通域的實(shí)現(xiàn)方法

熱門標(biāo)簽:鶴壁手機(jī)自動(dòng)外呼系統(tǒng)違法嗎 怎么辦理400客服電話 B52系統(tǒng)電梯外呼顯示E7 沈陽防封電銷電話卡 銀川電話機(jī)器人電話 企業(yè)微信地圖標(biāo)注 高德地圖標(biāo)注收入咋樣 地圖標(biāo)注多個(gè) 萊蕪電信外呼系統(tǒng)

場(chǎng)景需求

       使用OpenCV,往往遇到這類場(chǎng)景:需要清除目標(biāo)圖像中比較小的噪聲區(qū),保留主要區(qū)域信息。

       特此分享自己寫的一個(gè)簡(jiǎn)單的清除小面積連通域函數(shù),邏輯比較簡(jiǎn)單,給大家留出了足夠的發(fā)展空間,根據(jù)自身場(chǎng)景需求進(jìn)行調(diào)整。

       原理可以簡(jiǎn)單歸結(jié)為:搜索圖像的連通區(qū)輪廓->遍歷各個(gè)連通區(qū)->基于閾值刪除面積較小的連通區(qū)

       運(yùn)行速度方面,我沒單獨(dú)測(cè)試過這個(gè)單元,大家如果試過之后太慢可以評(píng)論告訴我哦~

       反正平常我工作跑那種2000*2000的圖像,這個(gè)函數(shù)的耗時(shí)幾乎忽略不計(jì)。。。

C++實(shí)現(xiàn)代碼

/**
* @brief  Clear_MicroConnected_Areas         清除微小面積連通區(qū)函數(shù)
* @param  src                                輸入圖像矩陣
* @param  dst                                輸出結(jié)果
* @return min_area                           設(shè)定的最小面積清除閾值
*/
void Clear_MicroConnected_Areas(cv::Mat src, cv::Mat dst, double min_area)
{
	// 備份復(fù)制
	dst = src.clone();
	std::vectorstd::vectorcv::Point> > contours;  // 創(chuàng)建輪廓容器
	std::vectorcv::Vec4i> 	hierarchy;  
 
	// 尋找輪廓的函數(shù)
	// 第四個(gè)參數(shù)CV_RETR_EXTERNAL,表示尋找最外圍輪廓
	// 第五個(gè)參數(shù)CV_CHAIN_APPROX_NONE,表示保存物體邊界上所有連續(xù)的輪廓點(diǎn)到contours向量?jī)?nèi)
	cv::findContours(src, contours, hierarchy, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE, cv::Point());
 
	if (!contours.empty()  !hierarchy.empty()) 
	{
		std::vectorstd::vectorcv::Point> >::const_iterator itc = contours.begin();
		// 遍歷所有輪廓
		while (itc != contours.end()) 
		{
			// 定位當(dāng)前輪廓所在位置
			cv::Rect rect = cv::boundingRect(cv::Mat(*itc));
			// contourArea函數(shù)計(jì)算連通區(qū)面積
			double area = contourArea(*itc);
			// 若面積小于設(shè)置的閾值
			if (area  min_area) 
			{
				// 遍歷輪廓所在位置所有像素點(diǎn)
				for (int i = rect.y; i  rect.y + rect.height; i++) 
				{
					uchar *output_data = dst.ptruchar>(i);
					for (int j = rect.x; j  rect.x + rect.width; j++) 
					{
						// 將連通區(qū)的值置0
						if (output_data[j] == 255) 
						{
							output_data[j] = 0;
						}
					}
				}
			}
			itc++;
		}
	}
}

測(cè)試代碼

#includeiostream>
#includeopencv2/opencv.hpp>
 
using namespace std;
using namespace cv;
 
void Clear_MicroConnected_Areas(cv::Mat src, cv::Mat dst, double min_area);
 
int main(void)
{
	Mat A = Mat::zeros(500, 500, CV_8UC1);
	circle(A, Point2i(100, 100), 50, 255, -1);
	circle(A, Point2i(300, 400), 15, 255, -1);
	Mat B;
	Clear_MicroConnected_Areas(A, B, 1000);
 
	imshow("before:A", A);
	imshow("after:B", B);
	waitKey(0);
 
	system("pause");
	return 0;
}
 
void Clear_MicroConnected_Areas(cv::Mat src, cv::Mat dst, double min_area)
{
	// 備份復(fù)制
	dst = src.clone();
	std::vectorstd::vectorcv::Point> > contours;  // 創(chuàng)建輪廓容器
	std::vectorcv::Vec4i> 	hierarchy;  
 
	// 尋找輪廓的函數(shù)
	// 第四個(gè)參數(shù)CV_RETR_EXTERNAL,表示尋找最外圍輪廓
	// 第五個(gè)參數(shù)CV_CHAIN_APPROX_NONE,表示保存物體邊界上所有連續(xù)的輪廓點(diǎn)到contours向量?jī)?nèi)
	cv::findContours(src, contours, hierarchy, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE, cv::Point());
 
	if (!contours.empty()  !hierarchy.empty()) 
	{
		std::vectorstd::vectorcv::Point> >::const_iterator itc = contours.begin();
		// 遍歷所有輪廓
		while (itc != contours.end()) 
		{
			// 定位當(dāng)前輪廓所在位置
			cv::Rect rect = cv::boundingRect(cv::Mat(*itc));
			// contourArea函數(shù)計(jì)算連通區(qū)面積
			double area = contourArea(*itc);
			// 若面積小于設(shè)置的閾值
			if (area  min_area) 
			{
				// 遍歷輪廓所在位置所有像素點(diǎn)
				for (int i = rect.y; i  rect.y + rect.height; i++) 
				{
					uchar *output_data = dst.ptruchar>(i);
					for (int j = rect.x; j  rect.x + rect.width; j++) 
					{
						// 將連通區(qū)的值置0
						if (output_data[j] == 255) 
						{
							output_data[j] = 0;
						}
					}
				}
			}
			itc++;
		}
	}
}

測(cè)試效果

 

圖1 處理前后圖

到此這篇關(guān)于OpenCV-清除小面積連通域的文章就介紹到這了,更多相關(guān)OpenCV-清除小面積連通域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • OpenCV實(shí)現(xiàn)圖像連通域
  • 使用OpenCV去除面積較小的連通域
  • 使用OpenCV獲取圖片連通域數(shù)量,并用不同顏色標(biāo)記函

標(biāo)簽:三亞 銀川 葫蘆島 呼倫貝爾 湘西 烏魯木齊 呼倫貝爾 安慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《OpenCV清除小面積連通域的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  OpenCV,清除,小,面積,連通,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《OpenCV清除小面積連通域的實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于OpenCV清除小面積連通域的實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产不卡精品一区二区三区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日本特黄特色aaa大片免费| 国产成人啪精品视频免费软件| 四虎影视库国产精品一区| 可以免费看污视频的网站| 国产精品12| 免费一级片网站| 国产福利免费观看| 精品国产一区二区三区久久久狼 | 亚洲天堂一区二区三区四区| 韩国毛片免费大片| 国产不卡福利| 久久久久久久免费视频| 国产视频一区二区在线播放| 日韩在线观看免费完整版视频| 日韩女人做爰大片| 国产a免费观看| 97视频免费在线观看| 日韩字幕在线| 91麻豆精品国产自产在线| 色综合久久天天综合| 国产高清视频免费观看| 国产91精品系列在线观看| 九九精品久久久久久久久| 精品美女| 国产极品白嫩美女在线观看看| 青青久久精品国产免费看| 精品视频一区二区三区| 午夜在线影院| 精品视频一区二区三区免费| 韩国三级视频网站| a级黄色毛片免费播放视频| 国产欧美精品| 999久久久免费精品国产牛牛| 精品视频在线看 | 精品国产一区二区三区久久久狼 | 免费一级片网站| 亚洲天堂一区二区三区四区| 亚洲女人国产香蕉久久精品| 99久久精品国产片| 99色视频在线观看| 久久精品大片| 青草国产在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲爆爽| 亚洲 欧美 91| 国产国产人免费视频成69堂| 精品久久久久久综合网| 美国一区二区三区| 国产麻豆精品| 麻豆网站在线看| 国产网站免费视频| 亚洲 国产精品 日韩| 久久精品免视看国产成人2021| 高清一级片| 一级毛片视频免费| 国产视频久久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲www美色| 日日夜夜婷婷| 国产91视频网| 日韩中文字幕在线亚洲一区| 国产视频网站在线观看| 日韩一级黄色| 美国一区二区三区| 精品视频在线观看视频免费视频| 可以免费看污视频的网站| 黄视频网站在线免费观看| 亚洲天堂在线播放| 国产网站免费| 91麻豆爱豆果冻天美星空| 成人a大片高清在线观看| 国产伦精品一区三区视频| 麻豆网站在线免费观看| 免费国产在线观看| 97视频免费在线观看| 日韩中文字幕在线观看视频| 日韩在线观看免费完整版视频| 日本特黄特色aa大片免费| 一级片片| 精品视频在线观看免费| 黄色免费三级| 久草免费在线视频| 99热热久久| 成人免费高清视频| 国产高清在线精品一区a| 国产网站免费| 欧美激情一区二区三区视频| 久久国产精品自由自在| 美女免费毛片| 999精品视频在线| 国产视频网站在线观看| 美国一区二区三区| 黄视频网站免费观看| 黄视频网站在线看| 国产成人精品在线| 九九国产| 欧美激情一区二区三区在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 一本高清在线| 国产91精品系列在线观看| 91麻豆国产| 久草免费资源| 可以免费看污视频的网站| 九九热精品免费观看| 99久久精品国产免费| 久久精品成人一区二区三区| 二级特黄绝大片免费视频大片| 欧美激情中文字幕一区二区| 欧美大片aaaa一级毛片| 黄色免费三级| 亚洲天堂免费| 黄视频网站在线免费观看| 国产精品12| 欧美一级视频免费观看| 黄色免费三级| 免费一级片网站| 美女免费毛片| 日韩中文字幕一区| 成人高清护士在线播放| 一本高清在线| 国产福利免费视频| 日韩在线观看视频网站| 亚洲精品影院久久久久久| 久久国产一久久高清| 日韩男人天堂| 亚飞与亚基在线观看| 欧美激情一区二区三区在线| 精品国产一区二区三区久久久狼 | 欧美大片aaaa一级毛片| 成人在激情在线视频| 黄色免费三级| 日韩免费在线视频| 日本特黄特黄aaaaa大片| 亚州视频一区二区| 亚州视频一区二区| 国产亚洲精品aaa大片| 韩国毛片免费| 亚洲 欧美 91| 国产国语对白一级毛片| 天天做日日爱夜夜爽| 青青久久精品| 欧美a级片视频| 国产不卡精品一区二区三区| 欧美激情伊人| 你懂的日韩| 国产成人啪精品视频免费软件| 亚洲第一视频在线播放| 亚洲天堂一区二区三区四区| 国产激情视频在线观看| 亚洲第一视频在线播放| 成人高清免费| 国产麻豆精品hdvideoss| 亚欧乱色一区二区三区| 成人高清视频免费观看| 精品国产三级a| 精品美女| 国产成人啪精品视频免费软件| 国产一区二区福利久久| 91麻豆精品国产自产在线观看一区 | 国产麻豆精品高清在线播放| 久久国产精品只做精品| 日本特黄特黄aaaaa大片| 国产视频一区二区在线观看| 夜夜操网| 久久国产精品永久免费网站| 免费国产在线观看| 成人免费福利片在线观看| 成人在免费观看视频国产| 欧美另类videosbestsex视频| 高清一级做a爱过程不卡视频| 四虎影视久久| 亚欧视频在线| 欧美日本韩国| 亚洲女人国产香蕉久久精品 | 黄视频网站免费观看| 精品在线观看一区| 国产亚洲男人的天堂在线观看| 日韩女人做爰大片| 久久99爰这里有精品国产| 久久久久久久男人的天堂| 亚久久伊人精品青青草原2020| 免费一级生活片| 一级毛片视频在线观看| 精品国产一区二区三区久久久蜜臀| 欧美大片aaaa一级毛片| 精品视频一区二区三区免费| 久久成人亚洲| 欧美1卡一卡二卡三新区| 亚洲精品中文字幕久久久久久| 成人av在线播放| 日韩av片免费播放| 九九精品久久| 成人影院一区二区三区| 日日夜夜婷婷| 免费毛片播放| 午夜欧美成人久久久久久| 99热精品一区| 国产不卡高清在线观看视频|