- 博客(108)
- 收藏
- 关注
原创 简单记录一下ubantu18.04安装opencv4.2.0和使用opencv所遇到的问题
img.empty() in function 'imwrite'和size.width>0 && size.height>0 in function 'imshow'解决方法:将输入图像转换为8位单通道图像,可以使用cv2.cvtColor()将彩色图像转换为灰度图像,然后使用cv2.equalizeHist()原因:这个错误通常出现在使用cv2.equalizeHist()第二种:出现原因,可能是读取照片时,选择了不同的读取图像方式。只能处理8位单通道图像(即CV_8UC1类型)。
2024-07-19 10:59:06 883
原创 QT中常见QImage、Pixmap、cv::Mat三种图像格式的转换
【代码】QT中常见QImage、Pixmap、cv::Mat三种图像格式的转换。
2024-09-27 15:37:06 387 1
原创 Opencv学习-直方图比较
函数原型由于图像的直方图表示图像像素灰度值的统计特性,因此可以通过两幅图像的直方图特性比较 两幅图像的相似程度。从一定程度上来讲,虽然两幅图像的直方图分布相似不代表两幅图像相似,但是两幅图像相似则两幅图像的直方图分布一定相似。例如,在通过插值对图像进行缩放后,虽然图像的直方图不会与之前完全一致,但是两者之间一定具有很高的相似性,因而可以通过比较两幅图像的直方图分布相似性对图像进行初步的筛选与识别。OpenCV 4 中提供了用于比较两个图像直方图相似性的函数。
2024-08-19 15:12:24 606
原创 Opencv学习-calcHist()、normalize()函数
该函数用于统计图像中每个灰度值像素的个数,例如统计一幅 CV_8UC1的图像,需要统计灰度值从 0至255中每一个灰度值在图像中的像素个数,如果某个灰度值在图像中没有,那么该灰度值的统计结果就是 0。由于该函数具有较多的参数,并且每个参数都较为复杂,因此作者建议在使用该函数时只统计单通道图像的灰度值分布,对于多通道图像,可以将图像每个通道分离后再进行统计。为了使读者更加了解函数的使用方法,代码清单 4-2 中提供了绘制灰度图像的图像直方图的示例程序。在该程序中,首先使用 calcHist()
2024-08-19 11:54:51 1067
原创 Opencv学习-窗口交互
图像窗口滑动条交互操作能够增加用户对程序流程的控制,使程序可以根据用户需求实现不同的处理结果。有时某一个参数需要反复尝试不同的数值,这时交互操作可以实现在程序运行过程中改变参数数值的作用,避免重复运行程序,节省时间,同时能够增强结果的对比效果。本文将介绍 OpenCV 4 中提供的图像窗口滑动条和鼠标响应两种窗口交互操作。
2024-08-07 11:02:58 945
原创 Opencv学习-图像变换
src:输入图像。dst:仿射变换后输出图像,与src数据类型相同,尺寸与dsize相同。M: 2×3的变换矩阵。dsize:输出图像的尺寸。flags:插值方法标志,。borderMode:像素边界外推方法标志。borderValue:填充边界使用的数值,默认情况下为0。插值方法标志边界外推的方法标志这个函数使用仿射变换来将输入图像映射到输出图像。仿射变换包括旋转、缩放、平移等操作,但不包括扭曲和剪切。
2024-08-03 18:51:41 937
原创 Opencv学习-LUT函数
src:输入图像矩阵,数据类型只能是 CV_8U。lut:256 个像素灰度值的查找表,单通道或者与 src 通道数相同。dst:输出图像矩阵,尺寸与 src 相同,数据类型与 lut 相同。
2024-08-02 22:52:43 523
原创 error while loading shared libraries: libuuid.so.1: cannot open shared object file
执行这两条指令可以解决。
2024-08-02 16:33:11 239
原创 Opencv threshold函数、adaptiveThreshold函数详解和示例
二值化方法可选择的标志及含义标志参数作用灰度值大于阈值的为最大值,其他值为0灰度值大于阈值的为0,其他值为最大值灰度值大于阈值的为阈值,其他值不变灰度值大于阈值的不变,其他值为0灰度值大于阈值的为0,其他值不变大津法自动寻求全局阈值三角形法自动寻求全局阈值为了方便讲解,我们使用如下的一个图像,红色表示图像,黑色是图像的边界,蓝色是阈值原图公式:对于原图,如果我们进行二值化操作,那么蓝色的线以上的,都变成最大值,蓝色的线以下的线都变成0。
2024-08-01 18:36:46 1120
原创 Opencv min函数和max函数
这两种函数的功能相对来说比较简单,就是比较图像每个像素的大小,按要求保留较大值或者。函数,这两个函数分别比较两幅图像中每一个元素灰度值的大小,保留较大(较小)的灰度值。较小值,最后生成新的图像。1.max函数和min函数。1.max函数和min函数。较大或者较小灰度值的。) 位置像素值为 10。
2024-08-01 14:17:36 414
原创 Opencv minMaxLoc函数和reshape函数详解和示例
minMaxLoc()函数 是库中的一个函数,用于找到一个多维数组中的最小值和最大值,以及它们的位置。这个函数对于处理图像和数组非常有用。
2024-08-01 12:51:05 539
原创 ubantu18.04 opencvUSB HUB同时连接两个以上的摄像头,只能打开一个
2个USB摄像头直接接电脑上可以正常运行,接hub上不行,原因不知,有大佬知道的可以评论区说一下;
2024-07-29 10:21:36 392
原创 报错error:‘ CV_* ’was not declared in this scope 解决解决办法总结
地址:OpenCV4.5 报错error:‘ CV_* ’was not declared in this scope 解决解决办法总结_error: ‘cvmovewindow’ was not declared in this sco-CSDN博客
2024-07-25 16:35:35 448
原创 OpenCV学习-resize() 、pyrDown() 、 pyrUp()调整图像大小
【代码】C++ OpenCV 使用 resize() 调整图像大小。
2024-07-24 16:13:19 509
原创 虚拟机ubnatu18.04 使用USB摄像头碰见问题
在上述代码中把 VideoCapture camera1(1);改成VideoCapture camera1(2);就不会出现这样的问题;至于是什么原因还未得知(猜测:1个USB摄像头对应2个/dev/videox,第二个摄像头开始正好是/dev/video2);3.从两个摄像头中取出画面帧,组合两个帧画面并显示出来。
2024-07-22 15:15:08 404
原创 CodeBlocks 导航栏/输出栏/菜单栏消失
参考地址:CodeBlocks 导航栏/输出栏/菜单栏消失_codeblocks工具栏没了-CSDN博客
2024-06-27 09:12:59 279
原创 stm32之USMART调试组件的使用
USMART是正点原子团队为其STM32开发平台开发的一种类似linux的shell的调试工具。具体工作过程是通过串口发送命令给单片机,然后单片机收到命令之后调用单片机里面对应的相关函数,并执行,同时支持返回结果。
2024-06-10 09:47:23 350 1
原创 解决 fatal: Not a git repository (or any of the parent directories): .git 问题
解决方法:在命令行 输入 git init 然后回车就好了。
2024-05-24 14:03:02 510
原创 Codeblocks修改背景,汉化教程
参考地址:Code::Blocks更换主题、汉化教程 - 小宇宙zjy - 博客园 (cnblogs.com)汉化地址以及汉化包:CodeBlocks 20.03中文语言包 | 我的工作生活学习 (huojunqiang.com)
2024-05-23 16:19:50 244
原创 keil的jlink重新选择芯片识别
如果选择错了芯片类型,就需要删除这两个文件,然后重新进入选择,就可以了。keil选择jlink要选择对应芯片,一旦选择成功会出现以下文件。
2024-05-11 09:09:28 355
原创 解决Qt5.12.11: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization faile
windows下QT5.12.11。
2024-04-17 10:58:40 1519 3
原创 keilC251忽略 L15警告
keilC251出现L15警告,原因是在中断中加了printf打印;如果想在中断中添加打印,且不报警告,可以以下途径解决。在以下地方添加个15,即可屏蔽L15的警告。再次编译没有出现警告。
2024-03-29 10:10:12 546
原创 Signal()函数介绍
signum此参数指定需要进行设置的信号,可使用信号名(宏)或信号的数字编号,建议使用信号名。handlersig_t类型的函数指针,指向信号对应的信号处理函数,当进程接收到信号后会自动执行该处理函数(相当于裸机的中断,中断发生进入中断函数);参数 handler既可以设置为用户自定义的函数(捕获信号时需要执行的处理函数),也可以设置为 SIG_IGN或SIG_DFLSIG_IGN表示此进程需要忽略该信号,SIG_DFL则表示设置为系统默认操作。
2024-03-20 10:18:34 681
原创 C语言种sizeof()和strlen的区别
位系统下进行的测试,所以指针占 用的内存大小就等于 8。仅用于计算数据类型的大小或者变量的大小,而。计算数据类型或变量会占用内存的大小,语言内置的操作符关键字,而。必须在运行时才能计算出来;始终计算的都是字符串的长度。编译器在编译时就计算出了。计算的是指针变量 ptr。个字节,因为这里笔者是在。从打印信息可知,第一个。计算字符串实际长度。
2024-03-19 10:02:52 253
原创 scanf()、fscanf()、sscanf()函数
的时候,终端会被阻塞,等待用户输入数据,此时我们可以通过键盘输入一些字 符,譬如数字、字母或者其它字符,输入完成按回车即可!接着来 scanf()就是相同的,因为标准输入文件的数据就是用户输入的数据,譬如通过键盘输 入的数据。函数从指定文件中读取数据,作为格式转换的输入数据,文件通过。所指向的字符串缓冲区中读取数据,作为格式转换的输入数据。指针指定,所以它有两 个固定参数,FILE。函数就会对用户输入的数据进行格式转换处理。1.txt里面存放如下图。指针和格式控制字符串。
2024-03-18 14:51:11 319
原创 浅谈printf、fprintf、sprintf、snprintf的使用和区别
函数就会返回写入到缓冲区的字符数,与 sprintf()函数相同,也会在字符串末尾自动添加终止字符。字符串末尾自动添加终止字符'\0,所以是7个字节;如果把7改成6,会报警告;指定的大小,超出的部分将会被丢弃!如果缓冲区空间足够大,snprintf()函数可能会发生缓冲区溢出的问题,存在安全隐患,为了解决这个问题,引入了。显式的指定缓冲区的大小,如果写入到缓冲区的字节数大于参数。dprintf与fprintf非常相似,就不多说了;在该函数中,使用参数 size。snprintf()函数。
2024-03-18 11:55:08 891
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人