OpenCV基础篇——图片显示

继上文,做好opencv的配置以后,很多时候要用的就是显示图片,后面要讲的显示视频和一些测试也是建立在显示图片的基础上的,本次将分享opencv通过win32控制台显示图片和MFC显示图片:

一:OpenCV+win32

建立好win32空文档后,添加新项cpp文件后,直接上代码:

#include "highgui.h" //这个头文件很多时候都会用到,在opencv中
int main()
{
	IplImage* img = cvLoadImage( "E:\\lena.jpg");//加载图片,用iplimage类型的指针指向文件地址
	cvNamedWindow("Example", CV_WINDOW_AUTOSIZE );//命名一个example的窗口,窗口属性为CV_WINDOW_AUTOSIZE,还有其他属性,自己可以了解一下
	cvShowImage("Example", img );//在名字为example的窗口显示img
	cvWaitKey(0);//等待,如果不加这句,基本就是一闪而过
	cvReleaseImage( &img );//释放资源
	cvDestroyWindow("Example");//摧毁窗口
	return 0;

}

二:OpenCV+MFC

新建MFC项目,我选的是对话框,在对话框中拖入picture控件,假设id号为IDC_STATIC2,和一个按键button,假设name为button1

//以下为showimage函数,用来在指定的id控件中显示图片
void CtestDlg::ShowImage(IplImage* img, UINT ID)// ID 是Picture Control控件的ID号
{
         CDC* pDC=GetDlgItem(ID)->GetDC();// 获得显示控件的 DC
         HDC hDC=pDC->GetSafeHdc();// 获取 HDC(设备句柄) 来进行绘图操作

         CRect rect;
         GetDlgItem(ID)->GetClientRect(&rect);

         CvvImage cimg;
         cimg.CopyOf(img);    // 复制图片
         cimg.DrawToHDC(hDC,&rect);

         ReleaseDC(pDC);
}
void CtestDlg::OnBnClickedbutton1()//按键的响应函数
{
	IplImage* img = cvLoadImage( "E:\\lena.jpg");
	ShowImage(img, IDC_STATIC2);//调用showiamge函数在picture控件中显示图片
	cvReleaseImage( &img );//释放

}

注:我建立的名为test的项目,所以类也是test,,mfc新建过后就会出现很多代码,而且直接运行就可以看见界面,我这里主要给出关键的函数和实现,没有在类中的声明。。参考写就一定会成功的。

显示图片就基本结束了,如果有什么不对的,还请大家指出,相互学习

OpenCV基础篇——图片显示

时间: 2024-11-09 22:55:55

OpenCV基础篇——图片显示的相关文章

OpenCV基础篇之读取显示图片

程序及分析 /* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May 2014 07:34:25 PM CST * Brief : * * Copyright (C) MICL,USTB */ #include <cv.h> #include <highgui.h> using namespace cv; using namespace std; in

OpenCV基础篇——视频显示

Opencv的视频显示,其实质是图片显示,只不过是连续显示不同的图片.其中如果涉及GUI,还要用多线程.现在讲自己所用的视频显示写出来供大家参考,主要涉及opencv在win32和mfc中显示视频. 一:Win32+OpenCV #include "highgui.h" int main() { const char *showwindow= "image";//窗口名字 CvCapture *capture = NULL; capture=cvCaptureFro

OpenCV基础篇——环境搭建

在开始使用opencv的时候第一步就是搭建环境,关于opencv的环境搭建其实很简单,网上也有很多,一般来说才开始学习都会搭建环境很多次,至少我是这样的.这样对问题的排除有很很大的帮助.现在就把我的搭建方式分享一下: 一.opencv+vs2010 1.opencv的获取: 最好从opencv的官网获取,也可以从opencv的官方中文论坛获取:http://wiki.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5 我使用的是opencv2.4.4版的,基本上

【OpenCV2】MFC中用OPENCV如何将图片显示在指定位置?

在opencv在开发过程中,我想最频繁的操作(之一)莫过于显示图片了. 学过OpenCV的同学都知道,调用cv::imshow()(或者C版本的ShowImage())可以轻而易举的将图片显示出来. 但是,它会创建一个不这么协调的对话框来显示这个图片,那么在MFC中我们如何让图片显示在指定的位置上呢? 先给个结果图(我使用的是VS2010+OpenCV2.4.8): 第一步: 创建一个基于MFC的基本对话框框架了.配置OpenCV环境 第二步:(如果是使用2.2版本以下的跳过) 我们要使用一个非

HTML基础——网站图片显示页面

1.图片标签 <img /> 属性: src:指的是图片显示的路径(位置) 绝对路径:D:\Pictures\Saved Pictures 相对路径: ①同一级:直接写文件名称或者./文件名称 ②上一级:../文件名称 ③下一级:写上目录名称/文件名称 width:指定图片的宽度,取值可以是像素值,也可以是百分比 height:指定图片的高度,取值可以是像素值,也可以是百分比 alt:当图片无法正常显示的时候给出的提示信息(该属性的显示效果与浏览器以及浏览器版本有关) 2.首先准备两张图片放在

OpenCV基础篇之图像的DFT频域变换

转载请注明出处:http://xiahouzuoxin.github.io/notes 程序及分析 /* * FileName : fft2.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Wed 30 Jul 2014 09:42:12 PM CST * Brief : * * Copyright (C) MICL,USTB */ #include <iostream> #include <cv.h>

opencv——基础篇

一 . opencv是什么及其作用? OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度百科). 鉴于本人的工作环境主要是采用python作为开发工具,故本篇博客是基于python来做的学习记录. 二 . 环境依赖和opencv包 环

OpenCV基础篇——图形图像旋转

以前在做图像处理的时候用到了图像的旋转,opencv自带的flip函数只能180度,因为需要旋转任意角度,顺时针和逆时针的情况,所以去找了些效果比较好的函数来实现.网上有的旋转函数有内存泄露的现象,现在把修改过我用过的无内存泄露的函数分享一下: 一: void cvRotate(IplImage* src,int angle) { IplImage * dst = 0; dst = cvCloneImage (src); double delte = 1.0; double factor = 1

OpenCV基础篇之画图及RNG随机数对象

程序及分析 /* * FileName : random_gen.c * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 29 Jul 2014 08:31:41 PM CST * Brief : * * Copyright (C) MICL,USTB */ #include <cv.h> #include <highgui.h> #include <iostream> using namespa