2019独角兽企业重金招聘Python工程师标准>>>

OpenCV开发包提供了读取各种类型的图像文件、视频内容以及摄像机输入的功能。这些功能是OpenCV开发包中所包含的HighGUI工具集的一部分。本次主要分享使用OpenCV加载图像并显示在屏幕上。

picture_display.cpp:

#include <opencv2/core/core.hpp>

#include <opencv2/imgproc/imgproc.hpp>

#include <opencv2/highgui/highgui.hpp>

#include <iostream>

int main (int argc, char **argv)

{

IplImage* img = cvLoadImage(argv[1]);

cvNamedWindow("Rayeager PX2", CV_WINDOW_AUTOSIZE);

cvShowImage("Rayeager PX2", img);

cvWaitKey(0);

cvReleaseImage(&img);

cvDestroyWindow("Rayeager PX2");

}

makefile:

INCLUDE = $(shell pkg-config --cflags opencv)

LIBS = $(shell pkg-config --libs opencv)

SOURCES = picture_display.cpp

# 目标文件

OBJECTS = $(SOURCES:.cpp=.o)

# 可执行文件

TARGET = picture_display

$(TARGET):$(OBJECTS)

g++ -o $(TARGET) $(OBJECTS) -I $(INCLUDE) $(LIBS)

$(OBJECTS):$(SOURCES)

g++ -c $(SOURCES)

clean:

rm $(OBJECTS) $(TARGET)

# 编译规则 $@代表目标文件 $< 代表第一个依赖文件

%.o:%.cpp

g++ -I $(INCLUDE) -o $@ -c $<

代码讲解:

程序中的IplImage* img = cvLoadImage(argv[1]);的功能是将图像文件加载至内存。cvLoadImage()函数是一个高层调用接口,它通过文件名确定被加载文件的格式;并且该函数自动分配图像数据结构所需的内存。

cvNamedWindow("Rayeager PX2", CV_WINDOW_AUTOSIZE);

cvNamedWindow()函数也是一个高层调用接口,该函数由HighGUI库提供。函数用于在屏幕上创建一个窗口,将被显示的图像包含于该窗口中。函数第一个参数指定了该窗口的窗口标题,第二个参数定义了窗口的属性。该参数可被设置为0或CV_WINDOW_AUTOSIZE,设置为0时,窗口的大小不会因图像的大小而改变;设置为CV_WINDOW_AUTOSIZE时,窗口则会根据图像的实际大小自动进行拉伸或缩放。

cvShowImage("Rayeager PX2", img);

该函数用于显示图像,cvShowImage()函数通过设置其第一个参数确定在哪个已存在的窗口中显示图像。

cvWaitKey(0);的功能是使程序暂停,等待用户触发一个按键操作。

cvReleaseImage(&img);的功能是释放为该图像所分配的内存。

cvDestroyWindow("Rayeager PX2");的功能是销毁显示图像文件的窗口。

在源代码所在的文件夹中make生成可执行文件picture_display,之后./ picture_display Rayeager PX2.jpg就能显示文件夹中的Rayeager PX2.jpg图像

源代码: picture_display.rar

感谢Ickey电子工程社区 fjjjnk1234的分享

转载于:https://my.oschina.net/u/2007588/blog/401437

【Rayeager PX2分享】OpenCV入门之图像显示相关推荐

  1. Rayeager PX2支持opencv眼部识别demo展示

    2019独角兽企业重金招聘Python工程师标准>>> 1.按照论坛提供是方法支持usb摄像头 http://bbs.chipspark.com/forum.php?mod=view ...

  2. 【AI白身境】搞计算机视觉必备的OpenCV入门基础

    文章首发于微信公众号<有三AI> [AI白身境]搞计算机视觉必备的OpenCV入门基础 今天是新专栏<AI白身境>的第五篇. 曾经看过一个视频,树莓派自平衡机器人自动追着小球跑 ...

  3. [Python图像处理] 一.图像处理基础知识及OpenCV入门函数

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  4. 【OpenCV入门教程之十七】OpenCV重映射 SURF特征点检测合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/30974513 作者:毛星云(浅墨) ...

  5. 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...

  6. OpenCV入门系列1:图像组成与OpenCV基本操作函数

    文章目录 前言 一.图像组成 1.1 图片与像素点 1.2 RGB颜色系统 1.3 图像数值转换原理 1.4 彩色图与灰度图 二.OpenCV函数验证 2.1 引入OpenCV库 2.2 读入彩色图片 ...

  7. 【OpenCV入门教程之一】 安装OpenCV OpenCV 3 0 OpenCV 2 4 8 OpenCV 2 4 9

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴!  本系列 ...

  8. Flink 基本原理与生产实践分享【入门必读,概念清晰】

    Flink 基本原理与生产实践分享[入门必读,概念清晰] https://zh.wikipedia.org/zh-hans/Apache_Flink Apache Flink是由Apache软件基金会 ...

  9. 【OpenCV入门指南】第十三篇 人脸检测

    原文出处:http://blog.csdn.net/MoreWindows/article/details/8426318#t2 本篇介绍图像处理与模式识别中最热门的一个领域--人脸检测(人脸识别). ...

最新文章

  1. Visual Studio 2017工程项目的几个重要文件解析
  2. Windows CE 程序设计 (3rd 版)
  3. C++代码在Sublime Text 3中编译和运行
  4. Flink SQL Client讀取csv中的數據(轉載+總結)
  5. Linux内核crypto子系统的调用逻辑
  6. mysql外键设置sql语句,SQL Server 2008之SQL语句外键
  7. input内容右对齐_向右打方向倒库过程中,如何判断后车距离?光线较暗车库倒库技巧...
  8. Nand Flash数据存储单元的整体架构
  9. 海尔智能微型计算机,微型计算机 Microcomputers
  10. python系统路径_python中os模块简单了解(系统命令和路径的获取)
  11. 数据结构与算法-浙江大学陈越数据结构第一章学习
  12. 基于PLC四层电梯模型控制系统课程设计
  13. 关于采用消息钩子机制的透明加密的简单破解
  14. C++复数运算符重载,复数开平方
  15. 美团网2015秋季校园招聘面试题(上)
  16. 电脑通信端口带感叹号,WIN7设备管理器里面的端口前面有个黄色感叹号怎么解决?...
  17. 个人博客如何选择图床
  18. 上云,你需要了解的账号管理模型
  19. XML, XMLHttpRequest
  20. abap视图字段限制_创建表维护视图(SE54)

热门文章

  1. jquery选择器小知识点们
  2. 远程访问dmz和虚拟服务器的设置
  3. 微软:警惕 Web3 和去中心化网络中的“冰钓”威胁
  4. Linux 内核漏洞可用于逃逸 Kubernetes 容器
  5. 治理软件供应链安全要打“团体赛” 共同建立供应链安全体系
  6. 谷歌披露影响多个苹果操作系统的零点击Image I/O 漏洞和开源库 OpenEXR漏洞
  7. 这个 WebKit 漏洞助力 Pwn2Own 冠军斩获5.5万美元赏金(详细分析)
  8. PIE SDK地图书签
  9. Android阅读手札:第一行代码(第一章)
  10. 配置 Linux 的访问控制列表(ACL)