資源簡介
包括opencv讀入圖片,顯示圖片灰度圖,二值圖和圖片的外接矩形框。還能通過滑動條改變閾值從而改變二值圖。

代碼片段和文件信息
//?lpr.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include?“opencv2/opencv.hpp“
#include?“opencv2/highgui/highgui.hpp“
#include?
using?namespace?std;
using?namespace?cv;
#define?WINDOW_NAME?“程序窗口“
int?g_nThresholdValue?=?160;
int?g_nThresholdType?=?0;
Mat?g_srcImg;//原圖
Mat?g_grayImg;//灰度圖
Mat?g_dstImg;//二值圖
void?on_Threshold(int?void*);
RNG?g_rng(12345);
int?main()
{
g_srcImg?=?imread(“E:/VS2017Projects/lpr/photo/9.jpg“);
???//?namedWindow(“原圖“);
imshow(“原圖“?g_srcImg);
cvtColor(g_srcImgg_grayImgCOLOR_RGB2GRAY);
//namedWindow(“灰度圖“);
imshow(“灰度圖“?g_grayImg);
namedWindow(WINDOW_NAME?WINDOW_AUTOSIZE);
//createTrackbar(“模式“?WINDOW_NAME?&g_nThresholdType4on_Threshold);
createTrackbar(“參數值“?WINDOW_NAME?&g_nThresholdValue?255?on_Threshold);
on_Threshold(00);
imshow(“二值圖“?g_dstImg);
while?(1)?{
int?key;
key?=?waitKey(20);
if?((char)key?==?27)
{
break;
}
}
????return?0;
}
void?on_Threshold(int?void*)
{
vector>?contours;
vector?hierarchy;
threshold(g_grayImg?g_dstImg?g_nThresholdValue?255?THRESH_BINARY);
findContours(g_dstImg?contours?hierarchy?RETR_TREE?CHAIN_APPROX_SIMPLE?Point(0?0));
vector>?contours_poly(contours.size());
vector?boundRect(contours.size());
for?(unsigned?int?i?=?0;?i? {
approxPolyDP(Mat(contours[i])?contours_poly[i]?3?true);
boundRect[i]?=?boundingRect(Mat(contours_poly[i]));
}
Mat?drawing?=?Mat::zeros(g_dstImg.size()?CV_8UC3);
for?(int?unsigned?i?=?0;?i? {
Scalar?color?=?Scalar(g_rng.uniform(0?255)?g_rng.uniform(0?255)?g_rng.uniform(0?255));
drawContours(drawing?contours_poly?i?color?1?8?vector()?0?Point());
rectangle(drawing?boundRect[i].tl()?boundRect[i].br()?color?2?8?0);
}
namedWindow(WINDOW_NAME?WINDOW_AUTOSIZE);
imshow(WINDOW_NAME?drawing);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-07-13?17:01??lpr\
?????目錄???????????0??2017-07-13?17:01??lpr\.vs\
?????目錄???????????0??2017-07-13?17:01??lpr\.vs\lpr\
?????目錄???????????0??2017-07-13?17:01??lpr\.vs\lpr\v15\
?????文件???????26112??2017-07-13?11:21??lpr\.vs\lpr\v15\.suo
?????文件????16338944??2017-07-13?16:49??lpr\.vs\lpr\v15\Browse.VC.db
?????文件??????????40??2017-07-13?14:33??lpr\.vs\lpr\v15\Browse.VC.opendb
?????目錄???????????0??2017-07-13?17:01??lpr\.vs\lpr\v15\ipch\
?????目錄???????????0??2017-07-13?17:01??lpr\.vs\lpr\v15\ipch\LPR-2ad73b50\
?????文件?????3604480??2017-07-13?16:49??lpr\.vs\lpr\v15\ipch\LPR-2ad73b50\LPR-54eb4eb8.ipch
?????文件?????3538944??2017-07-12?09:36??lpr\.vs\lpr\v15\ipch\LPR-2ad73b50\LPR-d1389fda.ipch
?????目錄???????????0??2017-07-13?17:01??lpr\lpr\
?????文件????????1292??2017-07-12?09:34??lpr\lpr.sln
?????文件???????16542??2017-07-12?09:22??lpr\lpr\1.jpg
?????文件????????2037??2017-07-13?16:49??lpr\lpr\lpr.cpp
?????文件????????7796??2017-07-12?10:11??lpr\lpr\lpr.vcxproj
?????文件????????1310??2017-07-12?09:34??lpr\lpr\lpr.vcxproj.filters
?????文件?????????757??2017-06-30?20:25??lpr\lpr\OpenCV32_Debug_x64.props
?????文件?????????758??2017-06-30?20:12??lpr\lpr\OpenCV32_Release_x64.props
?????文件????????1482??2017-07-12?09:34??lpr\lpr\ReadMe.txt
?????文件?????????207??2017-07-12?09:34??lpr\lpr\stdafx.cpp
?????文件?????????233??2017-07-12?09:34??lpr\lpr\stdafx.h
?????文件?????????240??2017-07-12?09:34??lpr\lpr\targetver.h
?????目錄???????????0??2017-07-13?17:01??lpr\lpr\x64\
?????目錄???????????0??2017-07-13?17:01??lpr\lpr\x64\Debug\
?????文件????????1568??2017-07-13?16:49??lpr\lpr\x64\Debug\lpr.log
?????文件??????857140??2017-07-13?16:49??lpr\lpr\x64\Debug\lpr.obj
?????文件??????406275??2017-07-13?09:54??lpr\lpr\x64\Debug\lpr.obj.enc
?????文件?????3276800??2017-07-12?10:11??lpr\lpr\x64\Debug\lpr.pch
?????目錄???????????0??2017-07-13?17:01??lpr\lpr\x64\Debug\lpr.tlog\
?????文件????????1314??2017-07-13?16:49??lpr\lpr\x64\Debug\lpr.tlog\CL.command.1.tlog
............此處省略24個文件信息
評論
共有 條評論