<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[spw_1201的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/spw_1201</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; spw_1201]]></copyright><item><title><![CDATA[指针式仪表识别（二）基于轮廓的倾斜仪表校正]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/85090030</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/85090030</guid><author>spw_1201</author><pubDate>Wed, 19 Dec 2018 10:44:40 +0800</pubDate><description><![CDATA[本文将介绍如何利用OpenCV，提取图片中的矩形轮廓特征并进行图片的倾斜校正。完成demo程序可以至：基于轮廓的倾斜仪表校正

本demo所处理的图片是一张仪表（如下图），欲实现的功能是将图片中倾斜的PCB校正为水平。基本的思路是检测PCB的边缘直线，而后根据边缘直线的斜率旋转图片。但是由于仪表上存在指针，所以图片在经过轮廓提取直线检测后，会误检出很多条直线。demo程序中主要的算法就是从含有噪声...]]></description><category></category></item><item><title><![CDATA[Qt智能机器人控制系统]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78880330</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78880330</guid><author>spw_1201</author><pubDate>Sat, 23 Dec 2017 15:48:42 +0800</pubDate><description><![CDATA[最近一直为机器人做一个控制系统，需要同时搭载Tensorflow和海康网络摄像头，当然python是最好的开发工具，搭载tensorflow比较容易，但是搭载海康摄像头，一直找不到如何去做。后来又想到java，海康摄像头解决了，调用tensorflow训练模型又有很多的坑。暂时先用Qt做了，后面再想办法。只能用tenssorflow的ssd_mobilenet模型。opencv官方也没有更新其他的]]></description><category></category></item><item><title><![CDATA[PyQt5 做一个记事本]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78533605</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78533605</guid><author>spw_1201</author><pubDate>Tue, 14 Nov 2017 19:04:55 +0800</pubDate><description><![CDATA[最近一直在做深度学习，因为要在项目中实现，一直苦于没有好的搭载平台，前后试过Java，Android，Qt，移植过程比较恶心。opencv只出到3.3.1，以前的版本都不可以移植tensorflow，opencv还没有很好的与深度学习框架的一个搭配，最近也一直在做吧。
所以最好的方式还是通过Python来做深度学习，方便，tensorflow的github也都是为它做的。
了解到了PyQt5，]]></description><category></category></item><item><title><![CDATA[PyQt5+python3+pycharm开发环境配置]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78533708</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78533708</guid><author>spw_1201</author><pubDate>Tue, 14 Nov 2017 18:49:45 +0800</pubDate><description><![CDATA[1.下载PyQt

你可以百度PyPI,去搜索PyQt5的whl文件，然后在命令中，输入pip install PyQt5-5.9.1-5.9.2-cp35.cp36.cp37-none-win_amd64.whl进行安装。

我的操作系统是64位的，安装的是Python3.6.1，所以我选择下载：PyQt5-5.9.1-5.9.2-cp35.cp36.cp37-none-win_amd6]]></description><category></category></item><item><title><![CDATA[Java 内部类]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78446277</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78446277</guid><author>spw_1201</author><pubDate>Sat, 04 Nov 2017 21:40:52 +0800</pubDate><description><![CDATA[如果在一个类中使用内部类，可以在内部类中直接存取其所在类的私有成员变量。
成员内部类的语法：
public class OuterClass {
	private class InnerClass{
		
	}
	public static void main(String[] args) {
		// TODO 自动生成的方法存根

	}

}

在内部类中可以随意使用外部类的成员方法以]]></description><category></category></item><item><title><![CDATA[Java(opencv) 窗体打开摄像头]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78439355</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78439355</guid><author>spw_1201</author><pubDate>Fri, 03 Nov 2017 20:29:45 +0800</pubDate><description><![CDATA[整个程序下载地址：Java(opencv) 窗体打开摄像头，并做一个灰度话处理，以后有关图像处理的和opencv的没有太大的区别
在testVideo项目下创建VideoIO包，包下新建ShowVideo.java窗体应用。



直接来看ShowVideo.java程序内容部分：
package VedioIO;

import java.awt.EventQueue;

impor]]></description><category></category></item><item><title><![CDATA[Java(opencv)窗体中显示图像]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78436346</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78436346</guid><author>spw_1201</author><pubDate>Fri, 03 Nov 2017 15:47:54 +0800</pubDate><description><![CDATA[源代码下载：
Java(opencv)中显示图像
在textImageIO java项目中添加textImageIO包，在包中添加textImage.java
在tool包中添加tool.java

在窗体中添加一个Jlabel，
在textImage.java中添加一下程序：
package textImageIO;

import java.awt.EventQueue;
imp]]></description><category></category></item><item><title><![CDATA[相机的标定+畸变矫正]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78417551</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78417551</guid><author>spw_1201</author><pubDate>Wed, 01 Nov 2017 19:30:01 +0800</pubDate><description><![CDATA[摄像机标定
本文目的在于记录如何使用MATLAB做摄像机标定,并通过opencv进行校正后的显示。
首先关于校正的基本知识通过OpenCV官网的介绍即可简单了解： 
http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html
对于摄像机我们所关心的主要参数为摄像机内参]]></description><category></category></item><item><title><![CDATA[Python视觉处理（四）HSV处理]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78310349</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78310349</guid><author>spw_1201</author><pubDate>Sun, 22 Oct 2017 15:28:06 +0800</pubDate><description><![CDATA[很多时候，当图像中存在色彩时，我们用用RGB图像处理得不到想要的结果时，就可以把图像转化成HSV图像，再加以处理，这样处理起来获取方便了很多。当然，在特定的环境中，我们不知道HSV的范围，这个时候可以测试一下图像中想要凸显的物体的HSV的范围，再设定相应的阈值范围。
点击图像观察图像HSV值代码：
import cv2
import numpy as np
from matplotlib im]]></description><category></category></item><item><title><![CDATA[Qt做一个卡通摄像头]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78280615</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78280615</guid><author>spw_1201</author><pubDate>Thu, 19 Oct 2017 09:44:34 +0800</pubDate><description><![CDATA[在这篇文章的基础上，做视觉卡通处理：Qt打开USB摄像头，做圆检测
先在painting.h中添加一个函数，
painting.h
private slots:
    void colorpainting(Mat image,Mat& result);


在painting.cpp中添加一下程序：
#include "painting.h"
#include "ui_painti]]></description><category></category></item><item><title><![CDATA[Opencv学习笔记（二十三） 改进边缘检测算子-----Marr-Hildresh]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78264610</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78264610</guid><author>spw_1201</author><pubDate>Tue, 17 Oct 2017 18:33:03 +0800</pubDate><description><![CDATA[Marr-Hildresh边缘检测算子，用于解决边缘检测的核心问题---定位精度和抑制噪声。Marr-Hildreth算子以高斯函数为平滑算子，结合拉普拉斯算子提取二阶导数的零交叉理论进行边缘检测。边缘检测中灰度变化与图像尺寸无关，检测算子可为不同尺度，灰度变化梯度在一阶导数的极值点（波峰或波谷），或在二阶导数为零的交叉点。
由于噪声点对边缘检测有一定的影响，所以效果更好的边缘检测器是LoG算子]]></description><category></category></item><item><title><![CDATA[Qt打开USB摄像头做形状检测]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78244493</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78244493</guid><author>spw_1201</author><pubDate>Sun, 15 Oct 2017 21:41:54 +0800</pubDate><description><![CDATA[Qt打开USB摄像头做形状检测，上次做圆检测。
Qt打开USB摄像头，做圆检测
在上文的基础上，添加一个函数，
void contours(Mat image);
直接上程序：
//形状检测
void MainWindow::contours(Mat image)
{
    vector > contours;
    vector hierarchy;

    Mat srcIma]]></description><category></category></item><item><title><![CDATA[Python视觉处理（三）canny边缘检测]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78243749</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78243749</guid><author>spw_1201</author><pubDate>Sun, 15 Oct 2017 20:36:42 +0800</pubDate><description><![CDATA[canny边缘检测：
现在要确定哪些边界才是真正的边界，需要设置两个阈值，minValue和maxValue。当图像的灰度梯度高于maxValue时被认为是真正的边界，那些低于minValue的边界会被抛弃。如果介于两者之间的话，就要看这个点是否与某个被确定为真正的边界点相连，如果是就认为它是边界点，如果不是就抛弃。
cv2.Canny()函数，这个函数第一个参数是输入图像，第二和第三分别是m]]></description><category></category></item><item><title><![CDATA[Python视觉处理（二）线检测]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78240810</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78240810</guid><author>spw_1201</author><pubDate>Sun, 15 Oct 2017 14:58:03 +0800</pubDate><description><![CDATA[python线检测使用的时cv.HoughLinesP()函数：
它有两个参数：
minLineLength-线的最短长度，比这个线短的都会被忽略。
MaxLineGap-两条线之间的最大间隔，如果小于此值，这两条线就会被看成一条线。
这个函数的返回值就是直线的起点和终点。
看主程序：
import cv2
import numpy as np
from matplotlib impo]]></description><category></category></item><item><title><![CDATA[python视觉处理（一）角点检测]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78238687</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78238687</guid><author>spw_1201</author><pubDate>Sun, 15 Oct 2017 09:31:46 +0800</pubDate><description><![CDATA[学了一段时间python+opencv了，总结一下学习的内容。
python 的整个语言和C++的opencv区别不大，就是不用定义，不用加结束符，不用输出图像。整个语句都是相当的简洁。
import cv2
import numpy as np
img=cv2.imread('Biaoding.jpg')
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
g]]></description><category></category></item><item><title><![CDATA[Halcon学习笔记（一） 读取图片]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78237460</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78237460</guid><author>spw_1201</author><pubDate>Sat, 14 Oct 2017 22:14:26 +0800</pubDate><description><![CDATA[今天把Halcon安装配置好了，就试试图像处理。网上的教程太少了，就自己试了试图像读取的写法。
先读取一张图片。
直接上程序：
#include "halconcpp.h"
#include 
#include 
#include 
using namespace cv;
using namespace HalconCpp;
int main()
{
	HImage img;
	ReadIm]]></description><category></category></item><item><title><![CDATA[Qt打开USB摄像头，做圆检测]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78214694</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78214694</guid><author>spw_1201</author><pubDate>Thu, 12 Oct 2017 14:43:44 +0800</pubDate><description><![CDATA[Qt界面中添加一个Label,打开USB摄像头，并做相应的图像处理。
一直都是使用C++配置opencv做视觉处理，最近要做界面，决定学习一种新的界面编辑软件，C#很好用，C#配置Emgu做视觉分析，一直都不如C++方便，个人比较喜欢用容器的方式操作像素对图像进行处理，正好Qt满足这个需求。
在ui界面添加一个label，用来显示摄像头获取的图像：




看见旁边有个被子，就做一个]]></description><category></category></item><item><title><![CDATA[Win10下VS2015配置DirectShow+OpenCV并且多摄像头的采集]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78203320</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78203320</guid><author>spw_1201</author><pubDate>Wed, 11 Oct 2017 14:30:33 +0800</pubDate><description><![CDATA[最近正好要用个比较小的摄像头用来采集图像，就买了一个USB接口的工业内窥镜摄像头，发现用opencv打开摄像头出现imshow()显示的时候一闪而过。表示摄像头是打开了，但是采集不了。最后了解了一下，常用的USB摄像头和笔记本本身自带的摄像头不是一个类型的，imshow()获取不了这种类型的摄像头。



 

还有网上各种解决方法，基本都不正确，出现这种选择某种摄像头的方法，在真正使用中不实用而...]]></description><category></category></item><item><title><![CDATA[Opencv学习笔记（二十二） 凸包检测]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78176594</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78176594</guid><author>spw_1201</author><pubDate>Sun, 08 Oct 2017 19:08:29 +0800</pubDate><description><![CDATA[凸包检测：
凸包可以想象成一条刚好包住所有点的橡皮圈，对于二维的图像，凸包就是将最外层的点连接起来构成凸多边形，它能包含点集中所有的点。物体的凸包检测常常用于物体识别、手势识别及边界检测等领域。
OpenCV提供了函数convexHull()用于对物体轮廓凸包进行检测，对形状凸包缺陷分析时使用convexityDefects()函数，每个缺陷区包含四个特征量：起始点，结束点，距离及最远点。
]]></description><category></category></item><item><title><![CDATA[opencv2.4.13配置VS2015（永久配置）]]></title><link>https://blog.youkuaiyun.com/spw_1201/article/details/78176247</link><guid>https://blog.youkuaiyun.com/spw_1201/article/details/78176247</guid><author>spw_1201</author><pubDate>Sun, 08 Oct 2017 18:00:18 +0800</pubDate><description><![CDATA[opencv2.4.13配置VS2015，永久配置。
VS2015和opencv2.4.13的下载地址：
https://msdn.itellyou.cn/


首先设置系统环境变量：
32位和64位都添加上，如果你只配置了一个版本的opencv，尽量配置为32位，安全，错误少。



设置好系统变量后，打开VS2015，新建一个控制台应用程序，

然后在源文件中添加新建项]]></description><category></category></item></channel></rss>