202009-27 解决Opencv+Python cv2.imshow闪退问题 Opencv+Pythoncv2.imshow闪退#读入原始图像origineImage=cv2.imread('./pic/6.jpeg')#图像灰度化#image=cv2.imread('test.jpg',0)image=cv2.cvtColor(origineImage,cv2.COLOR_BGR2GRAY)#image.save('./pic/gray.jpg')cv2.imshow('gray',image)#将图片二值化retval,img=cv2.threshold(image,127,255,cv2.THRESH_BINARY_INV)cv2.imshow('binary',img)程序运行到这,图片闪退,在cv.imshow()后加入cv... 继续阅读 >
202009-27 opencv python 图片读取与显示图片窗口未响应问题的解决 显示图像是Opencv最基本的操作之一,imshow()函数可以实现该操作。如果使用过其他GUI框架背景,就会很自然地调用imshow来显示一幅图像。但这个观点并不完全正确,因为图像确实会显示出来,但随即会消失。例如下面代码:importcv2importnumpyasnpimg=cv2.imread('C://Users/yefci/Pictures/0.2.jpg')cv2.imshow('C://Users/yefci/Pictures/0.2.jpg',img)会出现这种情况:下面的代码可保证显示视频时窗口上的帧可以一直进... 继续阅读 >
202009-27 VS2019+python3.7+opencv4.1+tensorflow1.13配置详解 VisualStudio作为宇宙最强IDE,目前已更新到2019版,启动界面变成如下样式。其中还集成最新的python3.7,以后用Python的小伙伴再也不用担心没有好用的编辑器了。opencv目前已更新到4.1了,瞬间感觉自己老了有没有。新版本的opencv对Core模块中的一些像素级别的操作函数和Imgproc中大量图像处理函数做了整体优化,速度有显著提升。其中,最重要的是DNN模块支持更多来自tensorflow的网络模型( Faster-RCN, SSD, &... 继续阅读 >
202009-27 VS2019配置opencv详细图文教程和测试代码的实现 摘要:vs2019新鲜出炉,配置opencv又有哪些不一样呢,这个教程将会一步一步的教你如何配置opencv和跑动opencv一个简单的项目。环境:系统:win10系统截至20190523版本opencv版本:3.4.1版本IDE:宇宙最强IDEA最新版本2019社区版教程:1、下载opencv安装包,由于4.0.1版本会出现不同的错误,我们将使用3.4.1版本。官网下载链接:https://opencv.org/releases.html#。2、下载完opencv安装包后,双击开始安装,选择安装目录,因为open... 继续阅读 >
202009-27 详解VS2019+OpenCV-4-1-0+OpenCV-contrib-4-1-0 一、软件需求VS2019社区版、win10操作系统、opencv4.1.0、opencv_contrib_4.1.0、cmake3.15.3VS2019社区版(免费)下载地址OpenCV4.1.0下载地址OpenCV_contrib_4.1.0下载地址CMAKE下载地址二、CMAKE编译在D:\opencv_4.1.0目录下创建个newbuild文件夹进入cmake,配置OpenCV_4.1.0配置OpenCV_contrib_4.1.0注意:第2步操作时后面的路径不要手打三、VS2019编译进入D:\opencv_4.1.0\newbuild目录找到OpenCV.sln双击四、系统... 继续阅读 >
202009-27 Android 通过cmake的方式接入opencv的方法步骤 简述上篇我们通过Javasdk的方式已经将opencv接入到项目中了,如果想使用opencvsdk提供的C++头文件与.so动态库,自己封装jni这样使用上篇的方式显然是不能实现的。所以本篇我们介绍通过cmake的方式接入opencv。接入步骤1、新建jni项目具体创建过程参考上篇:通过Javasdk方式接入opencv。2、导入so库在项目app/src/main目录下新建jniLibs,并将解压后的opencvsdk目录下对应的路径sdk/native/libs中的文件复制到jniLibs中... 继续阅读 >
202009-27 python使用OpenCV模块实现图像的融合示例代码 可以通过OpenCV函数cv.add()或简单地通过numpy操作添加两个图像,res=img1+img2.两个图像应该具有相同的深度和类型,或者第二个图像可以是标量值.三种融合注意融合时,一般来说两个图像的尺寸是一样大小的,如果大小不一样,需要把大的图像的某一部分先截出来,与小的图先融合,再作为整体替换掉原来大图中抠出的小图部分。"""#@Time:2020/4/3#@Author:JMChen"""importcv2ascvimg1=cv.imread('logo.png')img2=... 继续阅读 >
202009-27 OpenCV 表盘指针自动读数的示例代码 前段时间参加了一个表盘指针读数的比赛,今天来总结一下数据集一共有一千张图片:方法一:径向灰度求和基本原理:将图像以表盘圆心转换成极坐标,然后通过矩阵按行求和找到二值图最大值即为指针尖端导入需要用到的包importcv2ascvimportnumpyasnpimportmathfrommatplotlibimportpyplotaspltimportos图像预处理去除背景:利用提取红色实现defextract_red(image):"""通过红色过滤提取出指针"""red_lower1=np... 继续阅读 >
202009-27 Python opencv相机标定实现原理及步骤详解 相机标定相机标定的目的获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。相机标定的输入标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐标(一般情况下假定图像位于Z=0平面上)。相机标定的输出摄像机的内参、外参系数。拍摄的物体都处于三维世界坐标系中,而相机拍摄时镜头看到的是三维相机坐标系... 继续阅读 >
202009-27 TensorFlow2.X结合OpenCV 实现手势识别功能 使用Tensorflow构建卷积神经网络,训练手势识别模型,使用opencvDNN模块加载模型实时手势识别效果如下:先显示下部分数据集图片(0到9的表示,感觉很怪)构建模型进行训练数据集地址importtensorflowastffromtensorflowimportkerasfromtensorflow.kerasimportdatasets,layers,optimizers,Sequential,metricsfromtensorflow.python.framework.convert_to_constantsimportconvert_variables_to_constants_v2importos... 继续阅读 >
202009-25 Python Opencv中用compareHist函数进行直方图比较对比图片 图像直方图图像直方图是反映一个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的。纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数的百分比。图像是由像素构成,因为反映像素分布的直方图往往可以作为图像一个很重要的特征。在实际工程中,图像直方图在特征提取、图像匹配等方面都有很好的应用。直方图比较1.图像相似度比较如果我们有两张图像,并且这两张图像的直方图一样... 继续阅读 >
202009-25 python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法) 一、利用直方图的方式进行批量的图片缺陷检测(方法简单)二、步骤(完整代码见最后)2.1灰度转换(将原图和要检测对比的图分开灰度化)灰度化的作用是因为后面的直方图比较需要以像素256为基准进行相关性比较img=cv2.imread("0.bmp")#原图灰度转换gray=cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)#循环要检测的图,均灰度化foriinrange(1,6):t1=cv2.cvtColor(cv2.imread(str(i)+".bmp"),cv2.COLOR_RGB2GRAY)2.2直方图计算(... 继续阅读 >
202009-25 opencv中图像叠加/图像融合/按位操作的实现 一、图像叠加:cv2.addres=cv2.add(img1,img2)或者res=cv2.add(img1,标量值)参数说明:cv2.add将两个图片对应位置的像素的值相加,或者将每个像素的值加上一个标量值,大于255的像素值就设置成255。有一点需要注意的是,如果是两张图片相加,那么一定要注意两者的尺寸和通道数必须是一样的;如果是标量值,这个值既可以是整数也可以是浮点数,加合适的标量值一般是为了提高亮度。importcv2img1=cv2.imread('1.jpg')img2=c... 继续阅读 >
202009-24 python opencv进行图像拼接 本文实例为大家分享了pythonopencv进行图像拼接的具体代码,供大家参考,具体内容如下思路和方法思路1、提取要拼接的两张图片的特征点、特征描述符;2、将两张图片中对应的位置点找到,匹配起来;3、如果找到了足够多的匹配点,就能将两幅图拼接起来,拼接前,可能需要将第二幅图透视旋转一下,利用找到的关键点,将第二幅图透视旋转到一个与第一幅图相同的可以拼接的角度;4、进行拼接;5、进行拼接后的一些处理,让效果看上去更... 继续阅读 >
202009-24 使用Android studio3.6的java api方式调用opencv 基本环境:Androidstudio3.6NDK:r15c(尽量使用该版本)Opencv3.4.1androidsdk操作:(1)新建工程,选择EmptyActivity,工程名为op(2)File->New->ImportModule,然后选择自己的java-opencv的相对应路径,比如,D:\Android\OpenCV-android-sdk\sdk\java(3)修改openCVlibrary341下面的build.gradle中的,compileSdkVersion,buildToolsVersion,minSdkVersion,targetSdkVersion,使得和自己的工程下面的app/build.gradle的版本... 继续阅读 >
202009-24 2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用 一、pycharm介绍与安装1.pycharm介绍PyCharm是一种PythonIDE,是Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。其本身可以在线上更新和下载库,但本文未使用,使用的是anaconda进行管理选择原因开发项目,管理项目资源方便,可导入各种集成库进行开发,图像处理,界面设计,数据库管理等皆可融为一起,方便实际工程项目开发使用2.安装教程1、首先去Pyc... 继续阅读 >