91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

剛學OPENCV時用來練習的一段小代碼,剛進入OPENCV的可以參考下

資源截圖

代碼片段和文件信息

//?圖像中的線段檢測
#include?
using?namespace?std;
#pragma?comment(linker?“/subsystem:\“windows\“?/entry:\“mainCRTStartup\““)
IplImage?*pCannyImage*pSrcImage;
//const?char?*pstrWindowsCannytitle?=?“邊緣檢測圖“;
const?char?*pstrWindowsLineName?=?“線段檢測“;
CvMemStorage?*pcvMStorage;
IplImage?*pColorImage;
//cvCreateTrackbar的回調函數
void?on_trackbar(int?threshold)//threshold?為閾值
{
//canny邊緣檢測
cvCanny(pSrcImagepCannyImagethresholdthreshold*33);
//cvShowImage(pstrWindowsCannytitlepCannyImage);
//cvSmooth(pCannyImage?pCannyImage);
//?線段檢測(只能針對二值圖像)
pcvMStorage?=?cvCreateMemStorage();
double?fRho?=?1;
double?fTheta?=?CV_PI?/?180;
int?nMaxLineNumber?=?50;???//最多檢測條直線
double?fMinLineLen?=?100;???//最小線段長度
double?fMinLineGap?=?10;???//最小線段間隔


CvSeq?*pcvSeqLines?=?cvHoughLines2(pCannyImage?pcvMStorage?CV_HOUGH_PROBABILISTIC?fRho?fTheta?nMaxLineNumber?fMinLineLen?fMinLineGap);

//?繪制線段
pColorImage?=?cvCreateImage(cvGetSize(pSrcImage)?IPL_DEPTH_8U?3);
cvCvtColor(pCannyImage?pColorImage?CV_GRAY2BGR);
int?i;
for(i?=?0;?i?total;?i++)
{
CvPoint*?line?=?(CvPoint*)cvGetSeqElem(pcvSeqLines?i);
cvLine(pColorImage?line[0]?line[1]?CV_RGB(25500)?2);
}
cvShowImage(pstrWindowsLineName?pColorImage);
}
int?main()
{
const?char?*pstrWindowsSrctitle?=?“原圖“;


//?從文件中加載原圖
pSrcImage?=?cvLoadImage(“原圖.jpg“?CV_LOAD_IMAGE_UNCHANGED);
//?灰度圖
IplImage?*pGrayImage?=??cvCreateImage(cvGetSize(pSrcImage)?IPL_DEPTH_8U?1);
cvCvtColor(pSrcImage?pGrayImage?CV_BGR2GRAY);
//?邊緣圖
pCannyImage?=?cvCreateImage(cvGetSize(pSrcImage)?IPL_DEPTH_8U?1);
//cvCanny(pGrayImage?pCannyImage?56?168);
//cvNamedWindow(pstrWindowsCannytitleCV_WINDOW_AUTOSIZE);
//Create?Windows
cvNamedWindow(pstrWindowsSrctitle?CV_WINDOW_AUTOSIZE);
cvShowImage(pstrWindowsSrctitle?pSrcImage);
cvNamedWindow(pstrWindowsLineName?CV_WINDOW_AUTOSIZE);

//Create?TrackBar
const?char?*pstrWindowsToolBar?=?“Threshold“;
int?nThresholdEdge?=?1;
cvCreateTrackbar
(pstrWindowsToolBarpstrWindowsLineName&nThresholdEdge100on_trackbar);
//Show?the?Image
????on_trackbar(1);








cvWaitKey(0);

cvReleaseMemStorage(&pcvMStorage);
cvDestroyWindow(pstrWindowsSrctitle);
cvDestroyWindow(pstrWindowsLineName);
cvReleaseImage(&pSrcImage);
cvReleaseImage(&pGrayImage);
cvReleaseImage(&pCannyImage);
cvReleaseImage(&pColorImage);
return?0;
}
/*在《【OpenCV入門指南】第五篇輪廓檢測上》與《【OpenCV入門指南】第六篇輪廓檢測下》講解了OpenCV的輪廓檢測。本篇將講解在OpenCV中使用線段檢測與圓檢測。

線段檢測與圓檢測主要運用Hough變換,Hough變換是一種利用圖像的全局特征將特定形狀的邊緣連接起來,形成連續平滑邊緣的一種方法。它通過將源圖像上的點影射到用于累加的參數空間,實現對已知解析式曲線進行識別。

在OpenCV編程中,線段檢測和圓檢測已經封裝成函數了,直接使用cvHoughLines2和cvHoughCircles即可,下面來看看函數介紹和實際代碼。

《OpenCV入門指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/863841

?

函數功能:檢測圖像中的線段

函數原型:?

CvSeq*?cvHoughLines2(?

??CvArr*?image?

??void*?line_storage?

??int?method

??double?rho?

??double?theta?

??int?th

評論

共有 條評論