資源簡介
C語言版的大津法二值化算法實現,在VS2012+opencv249上可以編譯通過。
代碼片段和文件信息
#include?“stdio.h“
#include?“cv.h“
#include?“highgui.h“
#include?“Math.h“
int?Otsu(IplImage*?src);
int?main()
{
IplImage*?img?=?cvLoadImage(“lena.jpg“0);//獲取灰度圖像img
IplImage*?dst?=?cvCreateImage(cvGetSize(img)?8?1);
int?threshold?=?Otsu(img);//調用大津法求出最佳閾值
printf(“otsu?threshold?=?%d\n“?threshold);
cvThreshold(img?dst?threshold?255?CV_THRESH_BINARY);
cvNamedWindow(?“img“?1?);
cvNamedWindow(?“dst“?1?);
cvShowImage(“img“?img);
cvShowImage(“dst“?dst);
cvWaitKey(-1);
cvReleaseImage(&img);
cvReleaseImage(&dst);
cvDestroyWindow(?“img“?);
cvDestroyWindow(?“dst“?);
return?0;
}
int?Otsu(IplImage*?src)??
{??
int?height=src->height;??
int?width=src->width;??????
//histogram??
float?histogram[256]?=?{0};??
for(int?i=0;?i? {??
un
- 上一篇:VC6.0工程名修改器
- 下一篇:C語言小學數學出題系統
評論
共有 條評論