草庐IT

opencv_traincascade

全部标签

使用OpenCV的VideoCapture调整USB相机的对焦参数

一、问题引入        我们在进行机器视觉图像采集任务的之前,可能会选择购买一些USB相机作为采集设备。而有些USB相机具有自动对焦的功能,打开Windows自带的相机,界面如下:     拥有调整对焦功能的相机在接入之后,最左侧会出现对焦按钮(红框已圈出),点击按钮后拖动纵向滑动条即可调整相机的对焦位置,直到我们希望得到的最清晰位置;也可以将滑动条下拉至最下方,即为自动对焦的策略,相机会根据当前图像清晰度进行自动对焦。    以上操作在Windows系统相机应用中十分简单,但针对某个机器视觉任务,我们往往希望自己使用OpenCV库编程来实现手动或自动对焦的命令。二、问题解决    此处我

OpenCV实现图像中相邻区域的连接并进行合并

问题描述:在进行图像分割时,由于分割效果不够理想,使得两相邻区域间存在未分割的情况。如果使用合并boundingBox的方式来处理,势必又会引入更多无关的区域,从而增加了分割的难度。因此本文考虑对两区域进行连接并寻找连接后的凸包,从而实现相邻区域合并,以便于后续处理。图1原始图像以及其boundingBox算法思路:提取轮廓->计算轮廓间的距离->连接小于阈值T的两个轮廓->寻找凸包并进行填充图2连接相邻区域(蓝线)和相应的凸包由图2显而易见,该方法相比与合并boundingBox的方式减小无关的区域。完整实现代码如下:vectorPoint>GetPoint(vectorPoint>cont

opencv打不开摄像头 OpenCV | GStreamer warning: pipeline have not been created

具体报错如下图所示:按照提示以为是GStreamer插件没有安装所以又关防火墙安插件,之后依然没有办法打开;又看到一些一些博主说是计算机摄像头set分辨率问题,但是摄像头分辨率无法设置,摆烂时隔两天,我又可以了,正确方法如下:切换到编译运行环境pipinstallopencv-python直接安装opencv并不会下载这个库,必须要再安装一次,同时要在命令行安装,pychar里是直接搜索不到的。重新运行就ok啦:

OpenCV 将单通道转换为三通道

项目有个需求:图片传至图像算法库处理完成后需要返回结果图像进行再加工。目前的情况是相机拍下来的图像是灰度图传送图像指针给算法处理,算法处理完后将检测结果(eg.ok,ng)写入一张三通道图,只有这样才可以显示彩色文字然后现在需要回传此三通道图片的指针。返回出来的是三张通道的三个指针。处理:opencv可以用split来分离通道,也可以用merge来合并通道,用cvtcolor是不行的因为另外两个通道的值不确定的时候无法合并。以下为实际操作:vectorsrc;src.emplace_back(B);src.emplace_back(G);src.emplace_back(srcR);merge

opencv提取图像中矩形区域并裁剪

opencv提取图像中矩形区域并裁剪概述代码适用于图像中仅有一个矩形的情况,对图像中的矩形区域进行边缘的做标提取,完成对矩形区域的裁剪,裁剪完后对图像进行了填充、旋转(若图像倾斜)思路读取图像,将图像转成灰度图对图像进行开运算,将烟盒以外的污点去除提取图像最小外接矩形通过最小外接矩形的四个点坐标对图像进行填充将图像翻转至水平角度用图像开操作(先腐蚀、后膨胀)旋转图像(图像不水平情况下)写入覆盖原图实现importosimportnumpyasnpimportcv2defcrop_picture_pro(path):img_path=pathfiles=os.listdir(img_path)f

python使用镜像安装opencv

python如何使用镜像安装所需要的包常见的镜像:清华大学:https://pypi.tuna.tsinghua.edu.cn/simple中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple豆瓣:http://pypi.douban.com/simple/阿里云:http://mirrors.aliyun.com/pypi/simple/以opencv为例:pycharm中打开终端:然后输入以下命令:pipinstallopencv-contrib-python-ihttp://pypi.douban.com/simple--trusted-hos

Python 多线程中 OpenCV imshow 方法失效、不显示、不刷新、卡死的解决方法

文章目录问题解决方法与程序框架问题近日在做项目的时候,需要使用多线程来合成画面,然后一个子线程通过OpenCV中的imshow()模块显示在窗口上。但是遇到一个问题:虽然程序能够正常运行,但是没有窗口,在Dock栏上只有一个白色的图标表明有这个程序在运行。翻阅了好多的博客,许多都说加入下面的代码就能够正常显示画面。cv2.namedWindow("FlagOperatingSystem")cv2.imshow("FlagOperatingSystem",image)key=cv2.waitKey(1)我加上了,但是依旧没有反应,这就奇怪了,按道理使用imshow就应该能创建窗口。我把waitK

Robocom比赛中使用opencv-python进行轨道线识别(附带python源码+讲解)

1.前言:此代码是本人参加Robocom比赛中完成其中一个要求模块使用的代码。主要功能是根据给定的图片,识别出黑色轨道线的线条在图片中的大致位置。如下图所示:比赛要求:编写代码,从200张图片中随机选出20张图像,标出图像中黑色线条的位置,并在终端中以文字形式输出机器人下一步应该如何调整姿态(直行,向右前方调整方向,向左前方调整方向)。2.源码importcv2importnumpyasnpimportrandomimportos,random,shutilfile_Dir='mydata/平安城市测试集/轨道线识别/'#源图片文件夹路径tar_Dir='mydata/test3/'#移动到新

记录实现:Python+opencv实现人脸识别训练模型+数据集本地生成(附源码)

一、本地数据集生成用opencv操作本地摄像机,实现自定义数量照片截取并命名,通过按键方式实现不同角度拍摄,提高训练精度。具体解释都在代码里面,不一一赘述。#coding=utf8importcv2#收集人脸照片cap=cv2.VideoCapture(0)#视频图像化#0表示打开笔记本内置摄像头==》可以换成视频路径“/目标地址”num=1whilecap.isOpened():#检测是否在开启状态tenser,V_show=cap.read()#cap.read表示按帧读取视频#用两个参数接收返回值参数一:布尔值参数二:每一帧图像,三维矩阵k=cv2.waitKey(1)&0xFF#键盘的

图像综合处理小设计实验—opencv背景分割,硬币检测

图像综合处理小设计—opencv背景分割,硬币检测一、机器视觉图像的目标与背景的分割与提取1.主要要求:对输入图像可以达到目标和背景的分割建议方法:(1)将已知图像进行消噪处理(2)对彩色图像进行目标和背景分析(3)通过阈值法将图像进行分割(4)确定目标的位置实现效果:左一为原始图像,左二为分割提取的目标;右一为要求图片。2.算法代码hsv=cv2.cvtColor(new_img,cv2.COLOR_BGR2HSV)lower_red=np.array([0,43,46])upper_red=np.array([10,255,255])lower_yellow=np.array([20,43