转载请注明出处和作者,谢谢合作!!!
这个是自己很久之前写的一个大律法的过程,使用了opencv作为图像的输入和输出框架,话不多说了,直接上代码:
参数含义:
int otsu(unsigned char *image, int rows, int cols, int x0, int y0, int dx, int dy, int vvv);
image图像数据区,rows行,cols列,x0和y0表示像素起始点位置,dx和dy表示要处理的像素的结束点位置,vvv表示是否输出中间计算结果
//工程添加的库文件cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib
#include "cv.h"
#include "highgui.h"
#include <iostream>
#include <stdio.h>
using namespace std;
int otsu(unsigned char *image, int rows, int cols, int x0, int y0, int dx, int dy, int vvv);
int main(int argc,char**argv)
{
IplImage *srcImg = cvLoadImage(argv[1],CV_LOAD_IMAGE_GRAYSCALE);
int width_img = srcImg->width;
int height_img = srcImg->height;
int channels_img = srcImg-&g