[学习OpenCV攻略][006][平滑图片]

时间:2023-03-09 01:37:40
[学习OpenCV攻略][006][平滑图片]

cvCreateImage(图片大小,像素位数,通道数)

创建图片,根据输入的图片大小,各个通道像素点的位数,和通道数。像素点宏IPL_DEPTH_8U

cvGetSize(图片)

得到图片的大小信息

cvSmooth(输入图片,输出图片,平滑方式,平滑宽,平滑高)

输出经过平滑处理后的图片,平滑方式宏CV_GAUSSIAN

#include "cv.h"
#include "highgui.h" void smooth_example(IplImage *image){
cvNamedWindow("hello-in", CV_WINDOW_AUTOSIZE);
cvNamedWindow("hello-out", CV_WINDOW_AUTOSIZE); cvShowImage("hello-in", image); IplImage *out = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3); cvSmooth(image, out, CV_GAUSSIAN, 5, 5);
cvSmooth(out, out, CV_GAUSSIAN, 5, 5); cvShowImage("hello-out", out); cvReleaseImage(&out); cvWaitKey(0); cvDestroyWindow("hello-in");
cvDestroyWindow("hello-out");
} int main(int argc, char **argv){
IplImage *img = cvLoadImage(argv[1]);
cvNamedWindow("hello", CV_WINDOW_AUTOSIZE);
cvShowImage("hello", img); smooth_example(img); cvReleaseImage(&img);
cvDestroyWindow("hello"); return 0;
}