OpenCV 实践程序1——图片显示及多图片融合

来源:互联网 发布:2017学生空间七天网络 编辑:程序博客网 时间:2024/06/07 07:02

http://wiki.opencv.org.cn/index.php  opencv安装教程

http://wiki.opencv.org.cn/index.php/VC_2010%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.4.4   配置教程


//显示彩色或灰色图片#include<iostream>  #include <opencv2/core/core.hpp>  #include <opencv2/highgui/highgui.hpp>  using namespace cv;    int main()  {      // 读入一张图片(游戏原画)该图片与lena1.cpp放于同目录文件下   // Mat img=imread("lena1.jpg");      // 创建一个名为 "游戏原画"窗口  Mat image0=imread("lena1.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);//载入最真实的图像  Mat ge1=imread("lena1.jpg",0);//载入灰度图  Mat image2=imread("lena1.jpg",199);//载入3通道的彩色图像  Mat logo=imread("lena1.jpg");//载入3通道的彩色图像      cvNamedWindow("游戏原画");      // 在窗口中显示游戏原画      imshow("游戏原画",ge1);      // 等待6000 ms后窗口自动关闭      waitKey(6000);  } //综合实践,显示图片,将两图片融合为一起,这里要事先准备3副图片,结果会将融合后的新图片放于项目根目录下#include<opencv2/core/core.hpp>  #include<opencv2/highgui/highgui.hpp>   using namespace cv;      int main( )  {  //-----------------------------------【一、图像的载入和显示】--------------------------------------  //     描述:以下三行代码用于完成图像的载入和显示  //--------------------------------------------------------------------------------------------------   Mat girl=imread("girl.jpg"); //载入图像到Mat  namedWindow("【1】动漫图"); //创建一个名为 "【1】动漫图"的窗口   imshow("【1】动漫图",girl);//显示名为 "【1】动漫图"的窗口   //-----------------------------------【二、初级图像混合】--------------------------------------  //     描述:二、初级图像混合  //-----------------------------------------------------------------------------------------------  //载入图片  Mat image= imread("dota.jpg",199);  Mat logo= imread("logo.jpg");     //载入后先显示  namedWindow("【2】原画图");  imshow("【2】原画图",image);       namedWindow("【3】logo图");  imshow("【3】logo图",logo);  //定义一个Mat类型,用于存放,图像的ROI  Mat imageROI;Rect rect(0, 0, logo.cols, logo.rows);imageROI=image(rect);//不重新分配内存,公用内存//将logo加到原图上  addWeighted(imageROI,0.5,logo,0.3,0.,imageROI);     //显示结果  namedWindow("【4】原画+logo图");  imshow("【4】原画+logo图",image);     //-----------------------------------【三、图像的输出】--------------------------------------  //     描述:将一个Mat图像输出到图像文件  //-----------------------------------------------------------------------------------------------  //输出一张jpg图片到工程目录下  imwrite("我喜欢打dota2 by浅墨.jpg",image);  waitKey();  return 0;  }  参考文章http://blog.csdn.net/poem_qianmo/article/details/20537737,综合程序运行出错(非调试错误),具体查看改动部分。在此感谢此文章博主。


ubuntu下的测试

#include "cv.h"#include "highgui.h"#include <iostream>int main(){    IplImage* pImg= cvLoadImage("/home/yjy/lena.jpg", 1);         if(pImg==NULL)         {                   std::cout << "Not found Iamge!"<<std::endl;                   return 0;         }    cvNamedWindow("Image", 1);    cvShowImage("Image", pImg);    cvWaitKey(0);    cvDestroyWindow("Image");    cvReleaseImage(&pImg);    return 0;}


0 0
原创粉丝点击