先吃闭门羹,好好的图片,就是尺寸裁小了,就变成斜的了:
左边是原图,右边是Xcode测试的结果:
但是如果用原来的大尺寸图就是对的.
回家之后一试,雷人啊,居然又好了,气死人不偿命.看来公司的机器就是邪门.
加载图片的代码如下:
#import "OpenCV/cv.h"
#import "OpenCV/highgui.h"
int main()
{
//从文件路径获取图片
IplImage* img = cvLoadImage("/blog/加载图片/miqi.png", 1);
//创建窗口用来显示图片
cvNamedWindow("picture", 1);
//在窗口中显示图片
cvShowImage("picture", img);
//等待用户按键
cvWaitKey(0);
//删除图片和窗口
cvReleaseImage(&img);
cvDestroyWindow("picture");
//返回
return 0;
}
下面是
阈值效果:
代码如下:
#import "OpenCV/cv.h"
#import "OpenCV/highgui.h"
int main()
{
IplImage* src;
IplImage* colorThresh;
IplImage* gray;
IplImage* grayThresh;
int threshold = 120, maxValue = 255;
int thresholdType = CV_THRESH_BINARY;
src = cvLoadImage("/blog/加载图片/miqi.png", 1);
colorThresh = cvCloneImage( src );
gray = cvCreateImage( cvSize(src->width, src->height), IPL_DEPTH_8U, 1 );
cvCvtColor( src, gray, CV_BGR2GRAY );
grayThresh = cvCloneImage( gray );
cvNamedWindow( "src", 1 ); cvShowImage( "src", src );
cvNamedWindow( "gray", 1 ); cvShowImage( "gray", gray );
cvThreshold(src, colorThresh, threshold, maxValue, thresholdType);
cvThreshold(gray, grayThresh, threshold, maxValue, thresholdType);
cvNamedWindow( "colorThresh", 1 ); cvShowImage( "colorThresh", colorThresh );
cvNamedWindow( "grayThresh", 1 ); cvShowImage( "grayThresh", grayThresh );
cvWaitKey(0);
cvDestroyWindow( "src" );
cvDestroyWindow( "colorThresh" );
cvDestroyWindow( "gray" );
cvDestroyWindow( "grayThresh" );
cvReleaseImage( &src );
cvReleaseImage( &colorThresh );
cvReleaseImage( &gray );
cvReleaseImage( &grayThresh );
return 0;
}