<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[笔尖的博客]]></title><description><![CDATA[GitHub : https://github.com/HuangBingjian]]></description><link>https://blog.youkuaiyun.com/u013165921</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u013165921]]></copyright><item><title><![CDATA[【QT】QT从零入门教程(十七)：QT+OpenCV+VS 打包exe]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79404645</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79404645</guid><author>u013165921</author><pubDate>Thu, 01 Mar 2018 13:40:46 +0800</pubDate><description><![CDATA[1、在Debug模式下运行程序，生成exe。



2、在桌面上新建文件夹，名字最好为英文或数字，将项目生成的exe及所需资源文件夹(如Image文件夹)拷贝到文件夹中，在文件夹中新建一个txt，F:\QT\5.9.2\msvc2017_64\bin\为qt安装的相关目录。***.exe是生成的exe的文件名称，将文件后缀改为.bat，运行。

F:\QT\5.9.2\msvc2017_64\bi...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(十六)：QSS样式表]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79403946</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79403946</guid><author>u013165921</author><pubDate>Wed, 28 Feb 2018 19:12:22 +0800</pubDate><description><![CDATA[  实现一个软件的基本界面和功能后，接下来要做的就是美化界面，这就用到了QSS样式表。

  QSS包含了一个样式规则序列，一个样式规则由一个选择器和声明组成，选择器指定哪些部件由规则影响，声明指定哪些属性应该在部件上进行设置。例如：


  QPushButton { color: red }


  其中QPushButton是选择器，{ color: red }是声明，该规则指定QPushB...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(十五)：QImage和Mat的转换]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79403620</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79403620</guid><author>u013165921</author><pubDate>Wed, 28 Feb 2018 17:48:42 +0800</pubDate><description><![CDATA[  QT处理图像用的是QImage类，而OpenCV处理图像则是使用cv::Mat类，如果要在QT中运用OpenCV，那就需要进行QImage和Mat的相互转换。

// cv::Mat转换成QImage
QImage cvMat2QImage(const Mat&amp;amp; mat)                     
{
    if (mat.type() == CV_8UC1)    ...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(十四)：标准颜色对话框类QColorDialog]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79403006</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79403006</guid><author>u013165921</author><pubDate>Wed, 28 Feb 2018 17:33:59 +0800</pubDate><description><![CDATA[  Qt中提供了一些标准的对话框，用于实现一些常用的预定义功能，本节要讲的是颜色对话框QColorDialog，它是在标准文件对话框的基础之上添加一些布局实现的。



测试程序：



QColor color = QColorDialog::getColor(Qt::white, this);  // 设定对话框打开时默认选择的颜色

QString msg = QString(&quot;r: %1,...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(十三)：QT画笔工具QPainter (双缓冲绘图)]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79393265</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79393265</guid><author>u013165921</author><pubDate>Wed, 28 Feb 2018 12:48:13 +0800</pubDate><description><![CDATA[  QPainter 用于执行绘图操作，其提供的 API 在 GUI 或 QImage、QOpenGLPaintDevice、QWidget 和QPaintDevice 显示图形（线、形状、渐变等）、文本和图像。

  绘图系统由 QPainter 完成具体的绘制操作，QPainter 类提供了大量高度优化的函数来完成 GUI 编程所需要的大部分绘制工作。它可以绘制一切想要的图形，从最简单的一条直...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(十二)：实现工具箱QButtonGroup]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79391753</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79391753</guid><author>u013165921</author><pubDate>Tue, 27 Feb 2018 20:59:53 +0800</pubDate><description><![CDATA[  工具箱有两种实现方式，一是运用工具栏QToolBar，二是运用QButtonGroup，在按钮组内创建多个QPushButton，每个按钮对应不同的槽函数。

  本节的“工具箱”窗口是QDockWidget类型，通过在停靠窗口上添加控件来实现工具箱功能。 
  



代码

在头文件中添加

private:
    int drawType;                       ...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(十一)：QT自定义窗口]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79391330</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79391330</guid><author>u013165921</author><pubDate>Tue, 27 Feb 2018 17:43:57 +0800</pubDate><description><![CDATA[  首先是借鉴了网上的博客，实现无边框，自由拖动的自定义窗口效果。



#ifndef CUSTOMWINDOW_H  
#define CUSTOMWINDOW_H  

#include &amp;lt;QtGui&amp;gt;
#include &amp;lt;QtWidgets&amp;gt;
#include &amp;lt;QMenuBar&amp;gt;
#include &amp;lt;QMainWindow&amp;gt;

class ...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(十)：QT布局管理QLayout]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79391234</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79391234</guid><author>u013165921</author><pubDate>Tue, 27 Feb 2018 17:34:48 +0800</pubDate><description><![CDATA[  介绍完常用控件之后，我们发现，之前控件的大小位置都是通过resize()、move()来设置的，很不方便，当你修改某个控件的位置时，其他控件也需要进行调整，容易出现牵一发而动全身的情况。

  QT提供了类QLayout进行布局管理，能很好解决这一情况。常用的布局管理有QVBoxLayout、QHBoxLayout、QFormLayout、QGridLayout。通过布局嵌套基本可以实现理想的...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(九)：QT常用控件 [QSlider、QSpinBox、QComboBox、QRadioButton]]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79391162</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79391162</guid><author>u013165921</author><pubDate>Tue, 27 Feb 2018 17:28:52 +0800</pubDate><description><![CDATA[QSlider 滑动条与QSpinBox微调框

(这里只贴出控件的基本用法，需要时再查阅资料。)

QSlider *slider = new QSlider(Qt::Horizontal);  // 创建水平滑动条
slider-&amp;gt;setRange(0, 100);       // 设置范围
slider-&amp;gt;setValue(1);            // 设置初始值

QS...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(八)：QT常用控件 [QLabel、QPushButton、QLineEdit、QTextEdit]]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79380718</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79380718</guid><author>u013165921</author><pubDate>Tue, 27 Feb 2018 17:19:23 +0800</pubDate><description><![CDATA[  本节介绍一些常用的控件，是在“图像处理自编软件”中用到的几种，包括QLabel、QPushButton、QLineEdit、QTextEdit、QSlider、QSpinBox、 QRadioButton、QComboBox，下面逐一进行介绍QLabel、QPushButton、QLineEdit、QTextEdit，其余见下文。



// 接上文，在DockWidget停靠窗口上添加控件，...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(七)：图像适应窗口]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79380638</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79380638</guid><author>u013165921</author><pubDate>Mon, 26 Feb 2018 18:50:20 +0800</pubDate><description><![CDATA[  在第5节里，我们讲解了初始化图像框QLabel的方法，用于显示图像。在第6节里，运用QDockWidget实现了基本窗口布局。在显示图像时，如果打开比QLabel大的图像，会自动出现滚动条。这样能保证图像完整地显示在窗口中，通过滚动条可以查看整张图像。

  同时也带来了问题，因为现在手机相机的像素都很高，随随便便打开一张图像，都会超出软件的窗口大小，显示部分可能只是冰山一角，对图像进行查看或...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(六)：QDockWidget停靠窗口]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79380520</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79380520</guid><author>u013165921</author><pubDate>Mon, 26 Feb 2018 18:30:43 +0800</pubDate><description><![CDATA[QDockWidget

  上节我们引出了QDockWidget的概念，这节进行讲解并加以引用。

  常用函数： 
   1、addDockWidget：添加停靠控件，用于指定或更改停靠控件的位置以及方向。

void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget)
void QMain...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(五)：图像文件操作 [新建打开保存]]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79380097</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79380097</guid><author>u013165921</author><pubDate>Mon, 26 Feb 2018 17:59:21 +0800</pubDate><description><![CDATA[  前文已经讲解了菜单栏、工具栏、任务栏的实现方法，下面我们对程序进行完善。实现功能为：为软件添加“文件”菜单，并在下拉列表上添加”新建”、 ”打开”、 ”保存”、 ”另存为”、 ”关闭”，并在工具栏加上“新建”、“打开”、“保存”图标。



代码



// 头文件
#pragma once
#include &amp;lt;QtWidgets/QMainWindow&amp;gt;
#include &amp;lt...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(四)：菜单栏、工具栏、状态栏]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79280751</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79280751</guid><author>u013165921</author><pubDate>Mon, 26 Feb 2018 17:41:49 +0800</pubDate><description><![CDATA[  菜单栏、工具栏、任务栏是软件中常见的组件，本节将会讲解如何创建菜单栏并生成一级菜单、二级菜单，如何在工具栏中添加图标和控件，如何在任务栏中显示文本。 






标题及图标




// 标题大小
setWindowTitle(&quot;图像处理自编软件 by 笔尖&quot;);

// 软件图标
setWindowIcon(QIcon(&quot;../Image/icon/ImageProcessing.png&quot;...]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(三)：信号与槽]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79281374</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79281374</guid><author>u013165921</author><pubDate>Wed, 07 Feb 2018 16:19:20 +0800</pubDate><description><![CDATA[信号与槽

  信号和槽是QT中最基本的概念，也是QT中的核心机制。信号和槽是QT自行定义的一种通信机制，独立于标准的C/C++语言，因此要正确的处理信号和槽，必须借助moc（Meta Object Compiler）这一QT工具，该工具是个C++预处理程式，它为高层次的事件处理自动生成所需要的附加代码。

  信号与槽可以实现多信号与单个槽的连接，也可以实现单信号与多个槽的连接，甚至能实现信号间]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(二)：开始入门]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79278756</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79278756</guid><author>u013165921</author><pubDate>Wed, 07 Feb 2018 13:55:03 +0800</pubDate><description><![CDATA[配置

  第一个教程简单介绍了图像处理自编软件的基本界面和功能，本节开始讲解如何制作这个软件。首先是配置环境，博主用的是VS2017+OpenCV3.30+QT5.9.2，其他版本也可以实现，不过要注意链接依赖项的区别。网上的配置教程数不胜数，在此不赘述，QT配置可以参考VS2017专业版使用最新版Qt5.9.2教程,OpenCV配置用CMake完成。





新建项目

  文件——新建——]]></description><category></category></item><item><title><![CDATA[【QT】QT从零入门教程(一)：图像处理自编软件]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79263337</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79263337</guid><author>u013165921</author><pubDate>Tue, 06 Feb 2018 13:35:19 +0800</pubDate><description><![CDATA[自说自话

  寒假有了闲暇时间，于是决定做一个实际点的项目。在此之前，一直想做一款软件，把自己所学过的知识融汇进去，以软件界面的形式呈现出来。此前接触过OpenCV，学C++也有一段时间了，正好想从零入门学QT，于是思路打开，就做一个图像处理方向的软件。

  这次QT自学，一改以往先看书看视频的习惯，在构思了软件的大致界面和大体功能后，直接上手。不得不说，QT比MFC简洁方便很多，入手也比较容]]></description><category></category></item><item><title><![CDATA[【C++笔记】函数(笔记)]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79067901</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79067901</guid><author>u013165921</author><pubDate>Mon, 15 Jan 2018 19:30:47 +0800</pubDate><description><![CDATA[尽量使用常量引用]]></description><category></category></item><item><title><![CDATA[【TensorFlow】MNIST手写数字识别]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79067659</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79067659</guid><author>u013165921</author><pubDate>Mon, 15 Jan 2018 18:55:04 +0800</pubDate><description><![CDATA[MNIST  MNIST是一个非常简单的机器视觉数据集。如图，它由几万字28像素×28像素的手写数字组成，这些图片只包含灰度值信息。我们的任务是对这些手写数字的图片进行分类，转成0~9一共10类。]]></description><category></category></item><item><title><![CDATA[【图像处理】形态学及其它集合运算（Morphological and Other Set Operations）]]></title><link>https://blog.youkuaiyun.com/u013165921/article/details/79062712</link><guid>https://blog.youkuaiyun.com/u013165921/article/details/79062712</guid><author>u013165921</author><pubDate>Mon, 15 Jan 2018 11:36:18 +0800</pubDate><description><![CDATA[实验要求

  (1.a) 编写一个用3 x 3 结构元进行二值膨胀和腐蚀的函数，要求结构元素的系数作为程序的输入参数。

  (1.b) 编写一个计算两个图像集合的交、差和补的计算机函数。

  (1.c) 利用上述函数实现公式(9.5-1)所示的形态学边界抽取算法。

  (1.d) 对图9.20(left)进行特征边界抽取。

  (2.a) 编写一个用3 x 3 结构元进行灰度图像膨胀和腐]]></description><category></category></item></channel></rss>