成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別

如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別

熱門標(biāo)簽:佛山防封外呼系統(tǒng)收費(fèi) 南昌辦理400電話怎么安裝 電話機(jī)器人適用業(yè)務(wù) 獲客智能電銷機(jī)器人 哈爾濱外呼系統(tǒng)代理商 徐州天音防封電銷卡 湛江電銷防封卡 不錯(cuò)的400電話辦理 鄭州智能外呼系統(tǒng)運(yùn)營(yíng)商

前言

由于自己學(xué)識(shí)尚淺,不能用python深度學(xué)習(xí)來(lái)識(shí)別這里的數(shù)字,所以就完全采用opencv來(lái)識(shí)別數(shù)字,然后在這里分享、記錄一下自己在學(xué)習(xí)過(guò)程中的一些所見(jiàn)所得和所想

要解決的問(wèn)題

這是一個(gè)要識(shí)別的數(shù)字,我這里首先是對(duì)圖像進(jìn)行一個(gè)ROI的提取,提取結(jié)果就僅僅剩下數(shù)字,把其他的一些無(wú)關(guān)緊要的要素排除在外,

這是ROI圖片,我們要做的就是識(shí)別出該照片中的數(shù)字,

解決問(wèn)題的思路

1、先把這個(gè)圖片中的數(shù)字分割,分割成為5張小圖片,每張圖片包含一個(gè)數(shù)字,為啥要分割呢?因?yàn)槲覀儧](méi)辦法讓計(jì)算機(jī)知道這個(gè)數(shù)字是多少,所以只能根據(jù)特征,讓計(jì)算機(jī)去識(shí)別特征,然后每一個(gè)特征對(duì)應(yīng)一個(gè)值,首先貼出分割圖片的程序,然后在程序下方會(huì)有一段思路解釋

#include opencv2/core/core.hpp>
#include opencv.hpp>
#include opencv2/highgui/highgui.hpp>
#include opencv2/features2d/features2d.hpp>
#include opencv2/imgproc/imgproc.hpp>
#include iostream>
#include ctime>
using namespace std ;
using namespace cv;
#include map>
Mat src_threshold;
Mat src_dil;
int sunImage(Mat image);
vectorMat>ROI_image;//待測(cè)圖片
int main() 
{
	clock_t start ,finish;
	start=clock();
	Mat src;
	src=imread("D:\\vspic\\picture\\number6.jpg");
	resize(src,src,Size(src.cols/7,src.rows/7));
	imshow("src",src);
	Mat src_gray;
	cvtColor(src,src_gray,COLOR_BGR2GRAY);
	//imshow("gsrc_ray",src_gray);
	Mat src_blur;
	blur(src_gray,src_blur,Size(9,9));
	//GaussianBlur(src_gray,src_blur,Size(11,11),1,1);
	Mat src_threshold;
	threshold(src_blur,src_threshold,150,255,THRESH_OTSU);
	//imshow("src_threshold",src_threshold);
	Mat src_canny;
	Canny(src_threshold,src_canny,125,255,3);
	//imshow("src_canny",src_canny);
	vectorvectorPoint>>contours_src;
	vectorVec4i>hierarchy_src(contours_src.size());
	findContours(src_canny,contours_src,hierarchy_src,RETR_EXTERNAL,CHAIN_APPROX_NONE);
	Rect rect_s;
	Rect choose_rect;
	for (size_t i=0;icontours_src.size();i++)
	{
		rect_s=boundingRect(contours_src[i]);
		double width=rect_s.width;
		double height= rect_s.height;
		double bizhi=width/height;
		if (bizhi>1.5height>50)
		{
			/*rectangle(src,rect_s.tl(),rect_s.br(),Scalar(255,255,255),1,1,0);*/
			choose_rect=Rect(rect_s.x+20,rect_s.y+30,rect_s.x-30,rect_s.y-108);
		}
	}
	Mat roi;
	roi=src(choose_rect);
	//imshow("src_",roi);
	Mat img =roi;
	Mat gray_img;
	// 生成灰度圖像
	cvtColor(img, gray_img, CV_BGR2GRAY);
	// 高斯模糊
	Mat img_gau;
	GaussianBlur(gray_img, img_gau, Size(3, 3), 0, 0);
	// 閾值分割
	Mat img_seg;
	threshold(img_gau, img_seg, 0, 255, THRESH_BINARY + THRESH_OTSU);
	Mat element;
	element=getStructuringElement(MORPH_RECT,Size(8,8));
	erode(img_seg,src_dil,element);
	//imshow("src_dil",src_dil);
	// 邊緣檢測(cè),提取輪廓
	Mat img_canny;
	Canny(src_dil, img_canny, 200, 100);
	//imshow("canny",img_canny);
	vectorvectorPoint>> contours;
	vectorVec4i> hierarchy(contours.size());
	findContours(img_canny, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE, Point());//尋找輪廓
	int size = (int)(contours.size());//輪廓的數(shù)量
	//coutsizeendl;6個(gè)
	// 保存符號(hào)邊框的序號(hào)
	vectorint> num_order;//定義一個(gè)整型int容器
	mapint, int> num_map;//容器,需要關(guān)鍵字和模板對(duì)象兩個(gè)模板參數(shù),此處定義一個(gè)int作為索引,并擁有相關(guān)連的指向int的指針
	for (int i = 0; i  size; i++)
   {
		// 獲取邊框數(shù)據(jù)
		Rect number_rect = boundingRect(contours[i]);
		int width = number_rect.width;//獲取矩形的寬
		int height = number_rect.height;//獲取矩形的高
		// 去除較小的干擾邊框,篩選出合適的區(qū)域
		if (width > img.cols/20 )
		{
			rectangle(img,number_rect.tl(),number_rect.br(),Scalar(255,255,255),1,1,0);//繪制矩形
			imshow("img",img);//顯示矩形框
			num_order.push_back(number_rect.x);//把矩形的x坐標(biāo)放入number_order容器中,將一個(gè)新的元素添加到vector的最后面,
			//位置為當(dāng)前元素的下一個(gè)元素
			num_map[number_rect.x] = i;//向map中存入鍵值對(duì),number_rect.x是關(guān)鍵字,i是值
			/*把矩形框的x坐標(biāo)與對(duì)應(yīng)的i值一起放入map容器中,形成一一對(duì)應(yīng)的鍵值對(duì)
			*/
		}
	}
	// 按符號(hào)順序提取
	sort(num_order.begin(), num_order.end());/*把number_order容器中的內(nèi)容按照從小到大的順序排列,這里面是X的坐標(biāo)*/
	for (int i = 0; i  num_order.size(); i++) {
		Rect number_rect = boundingRect(contours[num_map.find(num_order[i])->second]);//num_order里面放的是坐標(biāo)
		//cout"num_map的值是:"num_map.find(num_order[i])->secondendl;
		Rect choose_rect(number_rect.x, 0, number_rect.width, img.rows);//矩形左上角x,y的坐標(biāo)以及矩形的寬和高
		Mat number_img = img(choose_rect);
		resize(number_img,number_img,Size(30,100));//歸一化尺寸
		ROI_image.push_back(number_img);//保存為待測(cè)圖片
		//imshow("number" + to_string(i), number_img);
		char name[50];
		sprintf_s(name,"D:\\vs2012\\model\\%d.jpg",i);//保存模板
		imwrite(name, number_img);	
	}
	cout"圖片分割完畢"endl;
	//加載模板
	vectorMat>temptImage;//存放模板
	for (int i=0;i4;i++)
	{
		char name[50];
		sprintf_s(name,"D:\\vs2012\\model\\%d.jpg",i);
		Mat temp;
		temp=imread(name);
		//cout"加載模板圖片通道數(shù):"temp.channels()endl;
		temptImage.push_back(temp);
	}
	vectorint>seq;//存放順序結(jié)果
	for (int i=0;iROI_image.size();i++)
	{
		Mat subImage;
		int sum=0;
		int min=50000;
		int seq_min=0;//記錄最小的和對(duì)應(yīng)的數(shù)字
		for (int j=0;j4;j++)
		{
			absdiff(ROI_image[i],temptImage[j],subImage);//待測(cè)圖片像素減去模板圖片像素
			sum=sunImage(subImage);//統(tǒng)計(jì)像素和
			if (summin)
			{
				min=sum;
			    seq_min=j;
			}
			sum=0;
		}
		seq.push_back(seq_min);
	}
	cout"輸出數(shù)字匹配結(jié)果:";//endl是換行的意思
	for (int i=0;iseq.size();i++)//輸出結(jié)果,小數(shù)點(diǎn)固定在第3位
	{
		coutseq[i];
		if (i==1)
		{
			cout".";
		}
	}
	finish=clock();
	double all_time=double(finish-start)/CLOCKS_PER_SEC;
	/*cout"運(yùn)行總時(shí)間是:"all_timeendl;*/
	waitKey(0);
	return 0;
}
//計(jì)算像素和
int sunImage(Mat image)
{
	int sum=0;
	for (int i=0;iimage.cols;i++)
	{
		for (int j=0;jimage.rows;j++)
		{
			sum+=image.atuchar>(j,i);
		}
	}
	return sum;
}

整體思路是這樣子的:0-9這10個(gè)數(shù)字也都是已經(jīng)被分割好的,并且保存好了,也就是模板,然后我們把待測(cè)的圖片也分割掉,然后從0-9模板文件夾中去讀取模板圖片,讓待測(cè)的分割完畢的圖片去和10個(gè)模板逐個(gè)相減,然后去統(tǒng)計(jì)他們相減后的像素和,如果這個(gè)在這10個(gè)中最低,那么他們就是同一個(gè)數(shù)字,然后輸出值就可以了,分割后的大概是這樣

上邊是第一種方法,然后還有第二種,是穿針引線的方法,是根據(jù)晶體管數(shù)字特征來(lái)識(shí)別的

這是晶體管數(shù)字的特征,每個(gè)0-9每個(gè)數(shù)字都是不一樣的,我們下一篇文章再做詳細(xì)的介紹

總結(jié)

到此這篇關(guān)于如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別的文章就介紹到這了,更多相關(guān)opencv實(shí)現(xiàn)數(shù)字識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python opencv實(shí)現(xiàn)信用卡的數(shù)字識(shí)別
  • Python+Opencv實(shí)現(xiàn)數(shù)字識(shí)別的示例代碼
  • python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字
  • 詳解Python OpenCV數(shù)字識(shí)別案例

標(biāo)簽:呂梁 蕪湖 紹興 蘭州 吉安 懷化 安康 廣西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別》,本文關(guān)鍵詞  如何,基于,opencv,實(shí)現(xiàn),簡(jiǎn)單,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于如何基于opencv實(shí)現(xiàn)簡(jiǎn)單的數(shù)字識(shí)別的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美日韩国产欧美日美国产精品| 亚洲欧洲日产国码二区| 日韩欧美国产精品综合嫩v| 欧洲精品久久一区二区| 国产精品成人观看视频国产奇米| 亚洲免费二区| 日韩欧美一区二区视频在线播放| 成人公开免费视频| 天天做天天爱夜夜爽| 桃乃木香奈和黑人aⅴ在线播放| 超污视频在线播放| 91美女片黄在线观看91美女| 全网国产福利在线播放| 亚洲午夜精品一区 二区 三区| 亚洲精品乱码久久久久久金桔影视| 色综合久久88色综合天天提莫| 自拍偷拍亚洲激情| 国产欧美日韩视频在线观看| 亚洲成a人片77777老司机| 国产日韩精品在线观看| 国产精品又粗又长| 欧美最猛性xxxxx亚洲精品| 国产精品一区二区日韩| 男男电影完整版在线观看| 欧美不卡一区二区| 99精品国产福利在线观看免费| 高清毛片aaaaaaaa**| 国产精品69精品一区二区三区| 亚洲一区二区三区激情| 成人性生交大片免费看视频直播| 性欧美性free| 亚洲人123区| 成人性生交大片免费看96| 欧美人牲a欧美精品| 欧美18 19xxx| 一本色道久久综合狠狠躁篇的优点| 91精品国产91久久久久久一区二区| 亚洲成人二区| 中文av在线播放| 在线观看国产一区二区| 精品国产一区二区三区久久久蜜月| 欧美激情1区2区3区| eeuss在线观看| 在线看无码的免费网站| 久久伊人成人网| 欧美另类视频| 国产成人一区二区三区免费看| 国产不卡视频在线播放| 亚洲天堂av资源在线观看| 牛牛精品视频在线| 偷拍女澡堂一区二区三区| 日韩有码电影| 国产精品高潮呻吟AV无码| 中文av免费观看| 午夜精品三级久久久有码| 国产偷人视频免费| 成人网在线播放| 色婷婷亚洲十月十月色天| 在线观看免费毛片| а√天堂中文在线资源8| 欧美亚洲激情在线| 青青艹在线观看| 在线免费观看黄色av| 国产系列电影在线播放网址| 久久这里只有精品视频网| 国产97在线|日韩| 国产精品中文字幕在线观看| 波多野结衣av无码| japan乱配videos老少配| 日韩中文在线中文网在线观看| 一本色道久久综合无码人妻| 亚洲最新视频在线| 国产精品少妇自拍| 综合精品久久| 欧美亚一区二区三区| 免费视频国产一区| 日韩新的三级电影| 国产在线精品一区二区不卡了| 2020亚洲男人天堂| 日韩黄色一级大片| 日韩视频免费大全中文字幕| www.先锋影音av| 91社区在线观看| 一个人在线视频免费观看www| 日本福利片免费看| 欧美日韩专区在线| 国产在线观看免费一区| 99国产精品私拍| jiuse.com91视频| 国产成人精品a视频一区| 男人用嘴添女人下身免费视频| 在线高清av| 97精品资源在线观看| 欧美一区二区三区综合| 一区二区久久久久久| 亚洲精品一线二线三线| 日日夜夜一区二区| 精品久久香蕉国产线看观看gif| 亚洲乱码国产乱码精品精可以看| 午夜精品99久久免费| 久久男人av资源网站| 国产精品久久久网站| 中文字幕亚洲一区二区av在线| 成人av网站大全| 亚洲一二三四2021不卡| 一本大道久久精品懂色aⅴ| 国产欧美久久一区二区三区| 最近日本中文字幕| 国产主播在线播放| 综合国产在线视频| 亚洲视频播放| 日产亚洲一区二区三区| 小早川怜子痴女在线精品视频| 亚洲一区二区三区在线视频| 99热都是精品| 99国产精品一区| 国产白浆在线观看| 永久免费av片在线观看全网站| 国产一区二区免费在线观看| 亚洲国产小视频| 日韩欧美电影| 亚洲色偷偷色噜噜狠狠99网| 波多野结衣啪啪| 日本精品入口免费视频| 日b视频免费观看| 日本久久一二三四| 久久日本片精品aaaaa国产| 少妇高潮久久久久久潘金莲| 亚洲一区二区三区日本久久九| 精品成人18| 精品久久久久久国产| 免费高清视频在线观看| 国产精品观看在线亚洲人成网| 一区视频在线看| 欧美一区二区精品| 亚洲视频三区| 久久久久久久久久免费视频| 精品国产91久久久久久久妲己| 57pao精品| 日韩系列欧美系列| 在线国产视频| 亚洲欧美国产一区二区三区| 性欧美videos白嫩| 国内综合精品午夜久久资源| xxww在线观看| 久久不见久久见国语| 国产一本一道久久香蕉| 97精品视频在线观看自产线路二| 日本xxxwww免费视频| 国产精品正在播放| 国产亚洲欧洲高清| 色婷婷在线视频| 欧美性猛片xxxxx免费中国| 7777精品伊人久久久大香线蕉的| 国产色视频一区二区三区qq号| 18岁免费网站| 国产丶欧美丶日本不卡视频| 欧美日韩一区二区视频在线观看| 亚洲高清在线不卡| 久久密一区二区三区| 日韩av在线看免费观看| 奇米777国产一区国产二区| 欧美久久综合性欧美| 国产午夜福利精品| 日韩成人av影视| 福利一区和二区| 欧美激情第6页| 日韩精品一区二区亚洲av性色| 深夜福利网站| 国产精品嫩草影院精东| 亚洲欧美日韩综合国产aⅴ| 欧美 日韩 激情| 美女国产一区二区三区| 亚洲a∨日韩av高清在线观看| abab456成人免费网址| 国产亚洲女人久久久久毛片| 亚洲乱码国产乱码精品精| 噼里啪啦国语在线观看免费版高清版| 色多多在线观看| 欧美午夜a级限制福利片| 亚洲污视频在线观看| 国产日韩精品视频一区| 任你操在线观看| 国产中文字幕视频| 亚洲中国色老太| 免费在线观看的av| 免费人成网ww777kkk手机| 国产日产精品一区二区三区| 亚洲中文一区二区三区| 免费国产在线观看| 国产精品av网站| 精选一区二区三区四区五区| 伊人手机在线| 国产小视频你懂的| 国产精品久久夜| 国产成人精品视频ⅴa片软件竹菊| 在线观看国产中文字幕| 久久综合色一综合色88| 亚洲一二三区在线观看| 欧美第一黄网| 国产美女精彩久久| 91麻豆精品一区二区三区| 都市激情亚洲一区| 日韩精品中文字幕在线| 99免费精品在线| 国产片乱18免费| 欧美性色视频在线| 高潮一区二区三区| 国产精品臀控福利在线观看| 日韩精品亚洲专区在线观看| 国产一区二区三区四区五区在线| 91美女在线观看| 啪啪av大全导航福利网址| 亚洲色成人www永久在线观看| 国产精品加勒比| jizzjizzjizz美国| 美日韩黄色片| 成人av免费电影| 亚洲一区国产一区| 大陆精大陆国产国语精品| 欧美一区二区三区免费视| 亚洲精品一区二三区不卡| 精品麻豆国产| 欧美性xxxx极品高清hd直播| 亚洲精品网址在线观看| 久久综合久久鬼色中文字| 国产一区视频观看| 伊人伊人av电影| 亚洲精品日韩欧美| 成人免费淫片免费观看| 中文字幕不卡在线播放| 欧美视频成人| 18深夜在线观看免费视频| 成人免费视频网址| 久久99中文字幕| 亚洲欧美日韩一级| 日韩欧美猛交xxxxx无码| 亚洲第一精品久久忘忧草社区| 国产午夜性春猛交ⅹxxx| 日本中文字幕二区| 色先锋av资源中文字幕| 国产成人高清精品免费5388| 成人性生交大片免费观看网站| 国产精品卡一卡二卡三| 亚洲成人网在线播放| 又黄又爽的视频在线观看| 国产日本精品| 日韩欧美中文字幕不卡| 亚洲高清乱码| 久久久国产精品视频| 波多野结衣中文字幕一区二区三区| 2020中文字幕在线播放| 成人免费一区二区三区视频网站| 久久久人成影片一区二区三区观看| 中文字幕视频在线免费观看| 亚洲成人动漫一区| 久久亚洲AV无码| 91久久精品久久国产性色也91| 天堂网avav| 99精品视频在线免费观看| 美女不穿衣服的网站| 老司机午夜性大片| 精品国产乱码一区二区| 97视频在线免费播放| 曰本一区二区| 国产盗摄精品一区二区酒店| 日韩午夜影院| 精品久久久久久久中文字幕| 国产精品久久久午夜夜伦鲁鲁| 日本一区视频在线播放| 久久福利电影| 最近的中文字幕在线看视频| 欧美在线三区| 国产成人精品男人的天堂538| 亚洲无中文字幕| 五月天久久久久久| 中文字幕成在线观看| 欧美色图亚洲图片| 污污网站在线| hd国产人妖ts另类视频| 成人一区二区三区视频在线观看| 亚洲人午夜射精精品日韩| 羞羞视频在线观看欧美| 亚洲一区二区三区四区中文字幕| 最新日韩在线视频| 国产一区二区三区视频| 国产亚洲成精品久久| 丝袜诱惑制服诱惑色一区在线观看| 色婷婷精品久久二区二区蜜臂av| 国产在线观看一区| 亚洲一区二区中文在线| 香港三级日本三级| 亚洲第一成肉网| 亚洲精品久久久蜜桃动漫| 你懂的在线看| 欧美亚洲另类久久综合| 欧美极品少妇xxxxⅹ喷水| 亚洲999一在线观看www| 91精品一区二区三区久久久久久| 激情图片在线观看高清国产| 91嫩草免费看| 亚洲午夜精品久久久久久人妖| 亚洲精品第1页| 国产在线观看一区二区三区| 欧美两根一起进3p做受视频| 高清一区二区三区四区五区| av成人综合网| 一线天粉嫩在线播放| 日韩三级视频中文字幕| 91麻豆精品国产91久久久久推荐资源| 天堂在线资源视频| 四虎国产精品免费久久5151| 亚洲国产精品电影在线观看| 中文字幕69页| 国产精品久久三区| 国内自拍偷拍视频| 精品在线播放视频| 欧美激情黑人| 国内精品久久久久久久久久久| 88xx成人永久免费观看| 国产视频久久久| 成人avav在线| 少妇精品久久久一区二区| 久久久久久99精品| 日韩av大片免费看| 色拍拍在线精品视频8848| 日韩精品极品毛片系列视频| 中文字幕第一页久久|