
OpenCV计算机视觉
文章平均质量分 86
夏天又到了
微信号 magicHawaii
展开
-
第一个Qt开发的OpenCV程序
这个路径是我们程序生成的hello.exe文件所在的路径,hello.exe是一个Windows下的可执行文件,是不是觉得很神奇,MinGW能在编译阶段加载Linux下的静态库(.a)文件,最终生成了Windows下的.exe文件。程序很简单,没啥好讲,若学过Qt,一看便懂。随便按一个键盘键,则会显示helloworld信息框,关闭信息框,会让我们在控制台窗口上输入权值,这里我们输入0.9,可以看到输入第一幅图片权重是0.9后,sbh.jpg显示的效果就淡了很多,如图2-5所示。运行结果如图2-4所示。原创 2025-04-11 15:48:28 · 667 阅读 · 0 评论 -
【图书推荐】《OpenCV计算机视觉开发实践:基于Qt C++》
本书共分20章,主要内容包括计算机视觉概述、OpenCV的Python开发环境搭建、OpenCV基本操作、数组矩阵、图像处理模块、灰度变换和直方图修正、图像平滑、几何变换、图像边缘检测、图像分割、图像金字塔、图像形态学、视频处理,以及停车场车牌识别、目标检测、数字水印、图像加解密、物体计数、图像轮廓、手势识别等案例。朱文伟,名校计算机专业统招硕士,20多年C\C++、Java开发经验。主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。原创 2025-04-09 08:37:25 · 587 阅读 · 0 评论 -
OpenCV键盘事件
无论是刚开始学习OpenCV,还是使用OpenCV进行开发调试,都可以看到waitKey函数的身影,然而最基础的往往容易忽略,在此可以好好了解一下这个基础又常用的waitKey函数。该函数延时一段时间,返回按键的值。其中,参数delay是延时的时间,单位是ms,默认是0,表示永久等待。第二次显示的窗口,waitKey的参数是5000,即5s,如果5s内不去按键,就会自动返回。总之,waitKey函数是非常简单而且常用的函数,开始入门的时候需要掌握好它,开发调试的时候waitKey函数同样是一个好帮手。原创 2025-04-08 08:56:49 · 394 阅读 · 1 评论 -
OpenCV鼠标事件
在OpenCV中,也存在鼠标的操作,比如左键单击、双击等。对于用户来讲,操作鼠标就是一个鼠标操作;对于OpenCV来讲,则认为是发生了一个鼠标事件,需要对这个鼠标数据进行处理,这就是事件的响应。现在我们来介绍一下鼠标中的操作事件。鼠标事件包括左键按下、左键松开、左键双击、鼠标移动等。当鼠标事件发生时,OpenCV会把让一个鼠标响应函数自动被调用,相当于一个回调函数,这个回调函数就是鼠标事件处理函数。原创 2025-04-07 13:49:05 · 650 阅读 · 0 评论 -
OpenCV销毁窗口
在OpenCV中,销毁窗口时窗口会自动关闭,可以通过函数destroyWindow和destroyAllWindows来实现,前者是销毁某一个指定名称的窗口,后者是销毁所有新建的窗口。在上述代码中,我们在for循环中读取图片文件,然后新建窗口,并在窗口中显示图片5秒钟后销毁窗口。在上述代码中,首先读入一幅图片,然后新建一个窗口显示图片,接着调用函数resizeWindow调整窗口大小,由于namedWindow的第二个参数是WINDOW_NORMAL,因此图片大小会随着窗口大小的变换而变化。原创 2025-04-03 09:40:36 · 665 阅读 · 0 评论 -
OpenCV单窗口显示多图片
在上述代码中,首先读取了3幅图片,并各自返回了二维矩阵数组,这3幅图片在工程目录下可以找到,为了节省篇幅,这里不对是否读取成功进行判断,但一线企业开发则不能少这个判断。随后,把3幅图片的矩阵数组传入hstack函数中进行合并,并返回合并后的矩阵数组,然后通过imshow显示出来。输出是(4,2),shape[0]表示行数,这里是4行,shape[1]表示列数,这里是2列。输出是(4,),4就是一维矩阵的长度,因为不存在二维,也就没有二维的长度,因此括号里的逗号后面是空的。运行工程,结果如图3-7所示。原创 2025-04-02 08:27:26 · 489 阅读 · 0 评论 -
OpenCV图像输入输出模块imgcodecs
要处理图像,第一步就是把图像文件从磁盘上读取到内存,处理完毕后再保存到内存,所以我们先来看一下图像文件读取与保存模块imgproc。imgproc提供了一系列全局函数,用于读取或保存图像文件。原创 2025-03-28 08:00:33 · 1005 阅读 · 0 评论 -
快速了解OpenCV的架构
OpenCV软件已经发展得比较庞大了,它针对不同的应用划分了不同的模块,每个模块专注于相应的功能。calib3d:这个模块名称是由calibration(校准)和3D这两个单词的缩写组合而成的,通过名称我们可以知道,模块主要包含相机标定与立体视觉等功能,例如物体位姿估计、三维重建、摄像头标定等。imgproc:这个模块名称是由image(图像)和process(处理)两个单词的缩写组合而成的,是重要的图像处理模块,主要包括图像滤波、几何变换、直方图、特征检测与目标检测等。原创 2025-03-26 08:54:09 · 915 阅读 · 0 评论 -
OpenCV图像输入输出模块imgcodecs(imwrite函数的用法)
保存图片时,要保存为png格式的图片,因为png或tiff格式的文件即为BGRA四通道色彩空间的图像文件形式。另外,保存图片时,imwrite 的第三个参数是[cv2.IMWRITE_PNG_ COMPRESSION, 9],它实现了图片压缩功能,其中9代表图片保存时的压缩程度,有0~9这个范围的10个等级,数字越大表示压缩程度越高。(4)PSD:这是Photoshop图像处理软件的专用文件格式,文件扩展名是.psd,可以支持图层、通道、蒙板和不同色彩模式的各种图像特征,是一种非压缩的原始文件保存格式。原创 2025-03-31 08:41:22 · 620 阅读 · 0 评论 -
OpenCV的Python开发环境搭建(Windows)
安装Python相关功能包需要用到pip,它是一个通用的Python包管理工具,提供了对Python包的查找、下载、安装、卸载的功能。其中,imread函数用来读取图片,由于imread不支持中文文件名,我们通过np.fromfile来读取山水.jpg,fromfile可以支持中文文件名,这个函数用法后面章节会详细讲到,这里只要了解即可。至此,基于Python的命令行OpenCV开发环境建立起来了,下面开始我们用Python开发的第一个OpenCV程序。运行该命令后稍等片刻,下载安装完成,如图2-7所示。原创 2025-03-25 08:48:10 · 646 阅读 · 0 评论 -
【图书推荐】《OpenCV计算机视觉开发实践:基于Python》
本书共分20章,主要内容包括计算机视觉概述、OpenCV的Python开发环境搭建、OpenCV基本操作、数组矩阵、图像处理模块、灰度变换和直方图修正、图像平滑、几何变换、图像边缘检测、图像分割、图像金字塔、图像形态学、视频处理,以及停车场车牌识别、目标检测、数字水印、图像加解密、物体计数、图像轮廓、手势识别等案例。朱文伟,名校计算机专业统招硕士,20多年C\C++、Java开发经验。主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。原创 2025-03-13 15:42:38 · 970 阅读 · 0 评论 -
OpenCV界面编程
其中,参数winname表示新建的窗口名称,自己随便取;(3)如果图像数据类型是32F(32位浮点数)或64F(64位浮点数),那么imshow函数内部会自动将每个像素值乘以255并显示,即将原图像素值的范围由[0~1]映射到[0~255](注意:原图像素值必须归一化)。其中,参数delay表示一个延时值,单位为ms,默认为0,永久延时,一直等待,直到用户按键。其中,参数winname表示显示的窗口名,可以使用namedWindow函数创建窗口,如果不创建,imshow函数将自动创建;原创 2025-04-01 15:50:13 · 745 阅读 · 0 评论