zoukankan      html  css  js  c++  java
  • 【第一篇:C++与opencv】图片的读取和显示

    这里介绍C++版本的opencv,和C语言版本有些不同,先看代码^_^

    【编译环境:opencv2.4.4和VS2008】

    #include "stdafx.h"
    #include "opencv2/opencv.hpp"
    
    using namespace cv;
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	Mat src;
    	//加载图片
    	src=  imread("F://Opencv_picture//44.jpg", CV_LOAD_IMAGE_COLOR);
           //检测是否加载成功
    	if(!src.data)  //or == if(src.empty())
    	{
    	     cout<<"Could not open or find the image"<< endl;
    		 return -1;
    	}
    	// 创建窗口
            namedWindow("Display",  CV_WINDOW_AUTOSIZE);
            //显示图像
    	imshow("Display", src);
    
    	//暂停,等待按键结束
    	waitKey(0 );
    
    	return 0;
    }
    


     **************************************************************

    函数讲解:

    (1)C++版本用Mat代替C语言版本的IplImage和CvMat

    (2)读取图像不同:

             C: IplImage* cvLoadImage(const char* filename, int iscolor=CV_LOAD_IMAGE_COLOR )

             C++: Mat imread(const string& filename, int flags=1 )

    (3)显示图像不同:

            C: void cvShowImage(const char* name, const CvArr* image)

            C++: void imshow(const string& winname, InputArray mat)

    (4)等待按键函数

            C++: int waitKey(int delay=0)

            C: int cvWaitKey(int delay=0 )

    (5)窗口命名

            C++: void namedWindow(const string& winname, int flags=WINDOW_AUTOSIZE ) 

            C: int cvNamedWindow(const char* name, int flags=CV_WINDOW_AUTOSIZE )

             关于namedWindow()第二个参数的使用
             CV_WINDOW_AUTOSIZE  【可用1替代或省略不写】:   显示原图,且显示后不能改变窗口大小
             CV_WINDOW_NORMAL     【可用0替代】:    显示图像后可以改变窗口的大小



  • 相关阅读:
    (转)typedef用法
    (转)在用户空间发生中断时,上下文切换的过程
    (转)内核中断,异常,抢占总结篇
    (转)中断上下文和进程上下文的区别
    (转)C中的volatile用法
    (转)gcc学习笔记
    (转)C系程序员面试必知必会之大端小端
    (转)我在北京工作这几年 – 一个软件工程师的反省
    (转)忠告
    Linux下VLAN功能的实现 (转)
  • 原文地址:https://www.cnblogs.com/riasky/p/3430675.html
Copyright © 2011-2022 走看看