OpenCV缩小图像

来源:互联网 发布:银行经营数据分析 编辑:程序博客网 时间:2024/05/21 22:08

会造成像素丢失。

#include <opencv2/opencv.hpp>#include <stdio.h>using namespace cv;int main(int argc, char **argv){    IplImage *img = cvLoadImage("lena.jpg");CvSize img_size = cvGetSize(img);IplImage *new_img = cvCreateImage(img_size,IPL_DEPTH_8U,3);//需要设置像素位深度IPL_DEPTH_8U为无符号8位整数,即256CvScalar pixel;//double transfer_matrix[][3]={ {0.5,0,0} , {0,0.5,0} , {0,0,1} };    for (int i = 0; i < img->height; ++i)    {        for (int j = 0; j < img->width; ++j)        {            pixel = cvGet2D(img, i, j);            printf("B=%f,G=%f,R=%f\t", pixel.val[0], pixel.val[1], pixel.val[2]);int xx = (int)(0.5*i);int yy = (int)(0.5*j);            cvSet2D(new_img, xx, yy, pixel);        }    }    cvNamedWindow("image", 1);    cvShowImage("image", new_img);    cvWaitKey(0);    cvDestroyWindow("image");    cvReleaseImage(&img);    cvReleaseImage(&new_img);    return 0;}


0 0