📄 4-6.cpp
字号:
//程序4-6数组变换相关函数
//
/*
#include <highgui.h>
#include <cv.h>
#include <iostream.h>
void main()
{
IplImage* src_img=cvLoadImage("zjut2.jpg",-1); //读入一幅图像
IplImage* repeat_img;
IplImage* dst_img_c1;
IplImage* dst_img_c2;
IplImage* dst_img_c3;
IplImage* dst_img;
//-----------------cvRepeat函数的使用----------------------
//创建的图像比目标图像大
repeat_img=cvCreateImage( cvSize(src_img->width*2, (int)(src_img->height*1.5) ), IPL_DEPTH_8U, src_img->nChannels );
//----用原数组管道式添充输出数组(这里目标数组大于源数组)---------
cvRepeat( src_img, repeat_img );
cvNamedWindow("zjut.jpg",CV_WINDOW_AUTOSIZE);
cvNamedWindow("zjut_changed.jpg",CV_WINDOW_AUTOSIZE);
//显示cvRepeat函数使用后的repeat_img图像
cvShowImage("zjut_changed.jpg",repeat_img);
//显示源图像
cvShowImage("zjut.jpg",src_img);
//-----------------cvFlip函数的使用----------------------
//---等待1秒钟-----
cvWaitKey(1000);
//-----垂直翻转图像------
cvFlip( src_img, NULL, -1 );
//显示垂直翻转后的源图像
cvShowImage("zjut.jpg",src_img);
//-----------------cvSplit函数和cvMerge函数的使用----------------------
//分离的三个通道
dst_img_c1=cvCreateImage( cvSize(src_img->width, src_img->height), IPL_DEPTH_8U, 1 );
dst_img_c2=cvCreateImage( cvSize(src_img->width, src_img->height), IPL_DEPTH_8U, 1 );
dst_img_c3=cvCreateImage( cvSize(src_img->width, src_img->height), IPL_DEPTH_8U, 1 );
dst_img=cvCreateImage( cvSize(src_img->width, src_img->height), IPL_DEPTH_8U, 3 );
//把源彩色图像分离成三个通道
cvSplit( src_img, dst_img_c1, dst_img_c2, dst_img_c3, NULL );
//显示分离出的一个单通道的灰度图
cvShowImage("zjut.jpg",dst_img_c1);
//---等待1秒钟-----
cvWaitKey(1000);
//合并分离出来的三个通道,但是不是按照原来顺序合并,合并后图像的色调发生改变
cvMerge( dst_img_c2, dst_img_c1, dst_img_c3, NULL, dst_img );
//显示合并后的图像
cvShowImage("zjut.jpg",dst_img);
cvWaitKey(0);
//释放图像
cvReleaseImage(&src_img);
cvReleaseImage(&repeat_img);
cvReleaseImage(&dst_img_c1);
cvReleaseImage(&dst_img_c2);
cvReleaseImage(&dst_img_c3);
cvReleaseImage(&dst_img);
}
//*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -