显示图像

底层操作

为矩阵定义了一系列方便的操作符。我们可以将一个已经存在的灰度图像 img 变成全黑色:

img = Scalar(0);

选择感兴趣区域:

Rect r(10, 10, 100, 100);
Mat smallImg = img(r);

将 Mat 转为 C API 数据类型:

Mat img = imread("image.jpg");
IplImage img1 = img;
CvMat m = img;

注意此处无数据复制操作。

将彩色图像转为灰度图像:

Mat img = imread("image.jpg"); // loading a 8UC3 image
Mat grey;
cvtColor(img, grey, CV_BGR2GRAY);

将图像的类型从8UC1转为32FC1:

src.convertTo(dst, CV_32F);

显示图像

在算法开发过程中,查看算法的中间结果是非常有用的。OpenCV提供了方便查看图像的方法。类型为 8U 的图像可以使用如下方法显示:

Mat img = imread("image.jpg");

namedWindow("image", CV_WINDOW_AUTOSIZE);
imshow("image", img);
waitKey();

调用 waitKey() 会进入一个消息循环,来等待 image 窗口上的按键动作。 类型为 32F 的图像需要转为 8U 类型。如下:

Mat img = imread("image.jpg");
Mat grey;
cvtColor(img, grey, CV_BGR2GREY);

Mat sobelx;
Sobel(grey, sobelx, CV_32F, 1, 0);

double minVal, maxVal;
minMaxLoc(sobelx, &minVal, &maxVal); //find minimum and maximum intensities
Mat draw;
sobelx.convertTo(draw, CV_8U, 255.0/(maxVal - minVal), -minVal);

namedWindow("image", CV_WINDOW_AUTOSIZE);
imshow("image", draw);
waitKey();
时间: 2025-01-13 09:34:00

显示图像的相关文章

[Android] 图像处理软件整合之处理ColorMatrix和Intend传递路径显示图像

    经过几门考试之后,终于有时间整合下自己的Anroid项目"随手拍"的图像处理部分了,主要是结合前面几篇文章讲解的各种android图像处理技术和PopupWindow布局,图像初步整合效果如下.由于该软件目前还未答辩,所以结束后会共享所有的源代码,可能需要一个月后吧,抱歉~               在"随手拍"中点击发布,有添加图片按钮,点击出现"选择本地图片"和"照相截拆选择",显示图片至另一个处理界面,底部五个

Android Gallery组件实现循环显示图像

Gallery组件主要用于横向显示图像列表,不过按常规做法.Gallery组件只能有限地显示指定的图像.也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了.这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示.要实现这种风格的Gallery组件,就需要对Gallery的Adapter对象进行一番改进. Gallery组件的传统用法 在实现可循环显示图像的Gallery组件之前先

OpenCV在MFC图像控件内显示图像

1.依照文章<OpenCV+MFC显示图像>,完毕配置. 2.创建对应的图像控件,button控件. 3.进行类型转换. 在当前OpenCV2版本号内,图像格式为cv::Mat ,而该格式无法直接在MFC内显示.因此,须要将其转换为能够在MFC内显示的CvvImage类格式,该类内有函数 DrawToHDC()支持MFC.试了一下无法直接实现,须要曲线救国.首先,将 格式cv::Mat变换为格式IplImage,再转换格式为 CvvImage. 还有问题,眼下openCV2版本号不再支持Cvv

UI控件之显示图像控件ImageView(上)

(一)概述 ImageView主要是用来显示图片的控件,可以对图片进行放大.缩小和旋转的功能. (二)ImageView中src和BackGround属性的区别 No.1 --使用程序测试src与background属性的区别: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/and

【C语言探索之旅】第三部分第三课:SDL开发游戏之显示图像

内容简介 1.第三部分第三课: SDL开发游戏之显示图像 2.第三部分第四课预告: SDL开发游戏之事件处理 第三部分第三课:SDL开发游戏之显示图像 上一课中,我们学习了如何加载SDL库(SDL_Init),释放SDL库(SDL_Quit),如何打开一个窗口(Window),如何使用表面(Surface). 这些都是SDL库最最基本的操作.暂时,我们只会给窗口自带的表面上点颜色,好像挺乏味的. 这一课我们来学习如何插入图片.上一课我们说过,SDL中绘制图样需要在Surface上进行.Surfa

OpenCV 入门示例之一:显示图像

前言 本文展示一个显示图像的示例程序,它用于从硬盘加载一副图像并在屏幕上显示之. 代码示例 OpenCV 入门示例之一:显示图像,布布扣,bubuko.com

《Cocos2d-x游戏开发实战精解》学习笔记1--在Cocos2d中显示图像

Cocos2d-x中的图像是通过精灵类来显示的.在Cocos2d-x中游戏中的每一个角色.怪物.道具都可以理解成是一个精灵,游戏背景作为一种特殊的单位将其理解成是一个精灵也没有什么不妥.在源文件本章目录下的项目ChapterThree03就展示了使用Cocos2d-x实现简单游戏开始界面的方法,主要就是通过精灵类来显示图像,其关键代码如范例3-5所示. [范例3-5 在Cocos2d-x中显示图像] Size size = Director::getInstance()->getVisibleS

GDI+ 学习记录(26): 显示图像 - Image

//显示图像 var   g: TGPGraphics;   img: TGPImage; begin   g := TGPGraphics.Create(Self.Canvas.Handle);   img := TGPImage.Create('c:\temp\x.jpg');   g.DrawImage(img,10,10); {参数2.3是坐标}   img.Free;   g.Free; end; //按标准的高度与宽度显示图像 var   g: TGPGraphics;   img:

升级tinyhttpd-0.1.0,让其支持网页显示图像

tinyhttpd是学习http协议非常好的工具,但是由于其过于简单,不支持在网页上显示图片,所以我改了一些代码,让tinyhttpd可以现实图像,供新手一起学习和熟悉http协议,ubuntu14.04下直接make就可以,已经测试通过. 代码: download.csdn.net/detail/qiankun1993/9524289 主要增加两个函数,第一个是图像封装头的函数,传输图片时要将html的头中的Content-Type设置为image/png: void headers2(int