- 博客(100)
- 资源 (1)
- 收藏
- 关注
原创 【QT】QT从零入门教程(十七):QT+OpenCV+VS 打包exe
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...
2018-03-01 13:40:46 8351 21
原创 【QT】QT从零入门教程(十六):QSS样式表
实现一个软件的基本界面和功能后,接下来要做的就是美化界面,这就用到了QSS样式表。 QSS包含了一个样式规则序列,一个样式规则由一个选择器和声明组成,选择器指定哪些部件由规则影响,声明指定哪些属性应该在部件上进行设置。例如: QPushButton { color: red } 其中QPushButton是选择器,{ color: red }是声明,该规则指定QPushB...
2018-02-28 19:12:22 7943 3
原创 【QT】QT从零入门教程(十五):QImage和Mat的转换
QT处理图像用的是QImage类,而OpenCV处理图像则是使用cv::Mat类,如果要在QT中运用OpenCV,那就需要进行QImage和Mat的相互转换。// cv::Mat转换成QImageQImage cvMat2QImage(const Mat& mat) { if (mat.type() == CV_8UC1) ...
2018-02-28 17:48:42 5360 1
原创 【QT】QT从零入门教程(十四):标准颜色对话框类QColorDialog
Qt中提供了一些标准的对话框,用于实现一些常用的预定义功能,本节要讲的是颜色对话框QColorDialog,它是在标准文件对话框的基础之上添加一些布局实现的。测试程序:QColor color = QColorDialog::getColor(Qt::white, this); // 设定对话框打开时默认选择的颜色QString msg = QString("r: %1,...
2018-02-28 17:33:59 2376
原创 【QT】QT从零入门教程(十三):QT画笔工具QPainter (双缓冲绘图)
QPainter 用于执行绘图操作,其提供的 API 在 GUI 或 QImage、QOpenGLPaintDevice、QWidget 和QPaintDevice 显示图形(线、形状、渐变等)、文本和图像。 绘图系统由 QPainter 完成具体的绘制操作,QPainter 类提供了大量高度优化的函数来完成 GUI 编程所需要的大部分绘制工作。它可以绘制一切想要的图形,从最简单的一条直...
2018-02-28 12:48:13 6895
原创 【QT】QT从零入门教程(十二):实现工具箱QButtonGroup
工具箱有两种实现方式,一是运用工具栏QToolBar,二是运用QButtonGroup,在按钮组内创建多个QPushButton,每个按钮对应不同的槽函数。 本节的“工具箱”窗口是QDockWidget类型,通过在停靠窗口上添加控件来实现工具箱功能。 代码在头文件中添加private: int drawType; ...
2018-02-27 20:59:53 4635
原创 【QT】QT从零入门教程(十一):QT自定义窗口
首先是借鉴了网上的博客,实现无边框,自由拖动的自定义窗口效果。#ifndef CUSTOMWINDOW_H #define CUSTOMWINDOW_H #include <QtGui>#include <QtWidgets>#include <QMenuBar>#include <QMainWindow>class ...
2018-02-27 17:43:57 2960
原创 【QT】QT从零入门教程(十):QT布局管理QLayout
介绍完常用控件之后,我们发现,之前控件的大小位置都是通过resize()、move()来设置的,很不方便,当你修改某个控件的位置时,其他控件也需要进行调整,容易出现牵一发而动全身的情况。 QT提供了类QLayout进行布局管理,能很好解决这一情况。常用的布局管理有QVBoxLayout、QHBoxLayout、QFormLayout、QGridLayout。通过布局嵌套基本可以实现理想的...
2018-02-27 17:34:48 12093
原创 【QT】QT从零入门教程(九):QT常用控件 [QSlider、QSpinBox、QComboBox、QRadioButton]
QSlider 滑动条与QSpinBox微调框(这里只贴出控件的基本用法,需要时再查阅资料。)QSlider *slider = new QSlider(Qt::Horizontal); // 创建水平滑动条slider->setRange(0, 100); // 设置范围slider->setValue(1); // 设置初始值QS...
2018-02-27 17:28:52 3366
原创 【QT】QT从零入门教程(八):QT常用控件 [QLabel、QPushButton、QLineEdit、QTextEdit]
本节介绍一些常用的控件,是在“图像处理自编软件”中用到的几种,包括QLabel、QPushButton、QLineEdit、QTextEdit、QSlider、QSpinBox、 QRadioButton、QComboBox,下面逐一进行介绍QLabel、QPushButton、QLineEdit、QTextEdit,其余见下文。// 接上文,在DockWidget停靠窗口上添加控件,...
2018-02-27 17:19:23 6301
原创 【QT】QT从零入门教程(七):图像适应窗口
在第5节里,我们讲解了初始化图像框QLabel的方法,用于显示图像。在第6节里,运用QDockWidget实现了基本窗口布局。在显示图像时,如果打开比QLabel大的图像,会自动出现滚动条。这样能保证图像完整地显示在窗口中,通过滚动条可以查看整张图像。 同时也带来了问题,因为现在手机相机的像素都很高,随随便便打开一张图像,都会超出软件的窗口大小,显示部分可能只是冰山一角,对图像进行查看或...
2018-02-26 18:50:20 4721 5
原创 【QT】QT从零入门教程(六):QDockWidget停靠窗口
QDockWidget 上节我们引出了QDockWidget的概念,这节进行讲解并加以引用。 常用函数: 1、addDockWidget:添加停靠控件,用于指定或更改停靠控件的位置以及方向。void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget)void QMain...
2018-02-26 18:30:43 11017 4
原创 【QT】QT从零入门教程(五):图像文件操作 [新建打开保存]
前文已经讲解了菜单栏、工具栏、任务栏的实现方法,下面我们对程序进行完善。实现功能为:为软件添加“文件”菜单,并在下拉列表上添加”新建”、 ”打开”、 ”保存”、 ”另存为”、 ”关闭”,并在工具栏加上“新建”、“打开”、“保存”图标。代码// 头文件#pragma once#include <QtWidgets/QMainWindow>#include <...
2018-02-26 17:59:21 7805 8
原创 【QT】QT从零入门教程(四):菜单栏、工具栏、状态栏
菜单栏、工具栏、任务栏是软件中常见的组件,本节将会讲解如何创建菜单栏并生成一级菜单、二级菜单,如何在工具栏中添加图标和控件,如何在任务栏中显示文本。 标题及图标// 标题大小setWindowTitle("图像处理自编软件 by 笔尖");// 软件图标setWindowIcon(QIcon("../Image/icon/ImageProcessing.png"...
2018-02-26 17:41:49 12032 1
原创 【QT】QT从零入门教程(三):信号与槽
信号与槽 信号和槽是QT中最基本的概念,也是QT中的核心机制。信号和槽是QT自行定义的一种通信机制,独立于标准的C/C++语言,因此要正确的处理信号和槽,必须借助moc(Meta Object Compiler)这一QT工具,该工具是个C++预处理程式,它为高层次的事件处理自动生成所需要的附加代码。 信号与槽可以实现多信号与单个槽的连接,也可以实现单信号与多个槽的连接,甚至能实现信号间
2018-02-07 16:19:20 10593 5
原创 【QT】QT从零入门教程(二):开始入门
配置 第一个教程简单介绍了图像处理自编软件的基本界面和功能,本节开始讲解如何制作这个软件。首先是配置环境,博主用的是VS2017+OpenCV3.30+QT5.9.2,其他版本也可以实现,不过要注意链接依赖项的区别。网上的配置教程数不胜数,在此不赘述,QT配置可以参考VS2017专业版使用最新版Qt5.9.2教程,OpenCV配置用CMake完成。新建项目 文件——新建——
2018-02-07 13:55:03 45375 15
原创 【QT】QT从零入门教程(一):图像处理自编软件
自说自话 寒假有了闲暇时间,于是决定做一个实际点的项目。在此之前,一直想做一款软件,把自己所学过的知识融汇进去,以软件界面的形式呈现出来。此前接触过OpenCV,学C++也有一段时间了,正好想从零入门学QT,于是思路打开,就做一个图像处理方向的软件。 这次QT自学,一改以往先看书看视频的习惯,在构思了软件的大致界面和大体功能后,直接上手。不得不说,QT比MFC简洁方便很多,入手也比较容
2018-02-06 13:35:19 22551 21
原创 【TensorFlow】MNIST手写数字识别
MNIST MNIST是一个非常简单的机器视觉数据集。如图,它由几万字28像素×28像素的手写数字组成,这些图片只包含灰度值信息。我们的任务是对这些手写数字的图片进行分类,转成0~9一共10类。
2018-01-15 18:55:04 2829
原创 【图像处理】形态学及其它集合运算(Morphological and Other Set Operations)
实验要求 (1.a) 编写一个用3 x 3 结构元进行二值膨胀和腐蚀的函数,要求结构元素的系数作为程序的输入参数。 (1.b) 编写一个计算两个图像集合的交、差和补的计算机函数。 (1.c) 利用上述函数实现公式(9.5-1)所示的形态学边界抽取算法。 (1.d) 对图9.20(left)进行特征边界抽取。 (2.a) 编写一个用3 x 3 结构元进行灰度图像膨胀和腐
2018-01-15 11:36:18 1971
原创 【图像处理】彩色图像处理(Color Image Processing)
实验要求 (1.a) 编写程序实现图6.23,程序的输入为图像中指定的两个灰度级范围。程序的输出为RGB 格式图像,其中,一个灰度级范围显示为指定的彩色,其余的像素以RGB 形式显示为与输入图像对应像素相同的灰度色。 (1.b) 用上述程序对图1.10(4)进行处理,要求使河流呈现为黄色,其余区域像素与原输入图像灰度保持一致。在结果图像中一些孤立区域一般也会呈现黄色,因此需要选取合适的
2018-01-15 11:13:21 4251
原创 【图像处理】参数维纳滤波(Parametric Wiener Filter)
实验要求 (a) 编写一个给图像中添加高斯噪声的程序,程序的输入参数为噪声的均值与方差。 (b) 编写程序实现公式(5.6-11)所示的污损滤波; (c) 如图5.26(b)所示,对图像5.26(a) 进行+45o 方向,T = 1 的污损滤波; (d) 对污损后的图像加入均值为0,方差为10 的高斯噪声; (e) 编写程序使用公式(5.8-6)所示的参数维
2018-01-15 11:03:48 8656 1
原创 【图像处理】二维付立叶变换和滤波 (Two-Dimensional Fourier Transform and Filtering)
实验要求 该实验的目的是开发一个2-D FFT 程序包。要求程序能完成下面的功能: (1.a) 用因子 (-1)x+y 乘以输入图像,以实现滤波的中心化变换; (1.b) 计算付立叶变换; (1.c) 用一个实矩阵乘以一个复数矩阵,即用实矩阵中的元素同时乘以复数矩阵对应位置上的复数的实部与虚部。可以通过调用两个图像的乘法程序来实现对应元素的相乘; (1.d) 计算反付
2018-01-15 10:48:42 2185
原创 【图像处理】空间滤波、中值滤波(Spatial Filtering and Median Filtering)
实验要求 编写一个能够完成两幅图像之间加、减、乘、除四种算术运算的函数。另外,对于两幅图像的乘法,所编写的乘法程序还要能够完成一幅图像乘以一个常数的功能。使用图Fig1.10(4)和Fig1.10(5)验证实验。 编写一个对图像进行空域滤波的函数(实现方法见课本3.5 节)。空域模板的尺寸固定为3 x 3 大小, 但模板中的系数要做为程序的输入参数。
2018-01-15 10:30:54 8257
原创 【图像处理】图像强度变换、直方图均衡化(Image Intensity Transformations and Histogram Equalization)
实验要求 该实验使用强度变换方法对图像进行增强。实验图像为图3.8(a) (1.a) 用公式(3.2-2)所示的对数变换方法进行图像增强。 (1.b) 用公式(3.2-3)形式的指数变换方法进行图像增强。实验的目的是用(1.a)和(1.b)中的方法获得最好的可视化增强效果。根据你自己的判断调整参数,对每一个变换获得最好的可视化结果,并解释结果图像之间产生差异的主要原因。
2018-01-14 01:28:20 11043
原创 【图像处理】图像灰度级减少, 图像缩放(Reducing the Number of Gray Levels, Zooming and Shrinking)
实验要求(1.a) 编写一个以2 的幂次方将给定图像的灰度级数从256 减少到2 的程序。图像的灰度级数以参数变量的形式传递到所编写的程序中。(1.b) 使用图2.21(a) 以(1.a)中编写的程序生成图2.21 所示的各个结果。(2.a) 编写一个基于像素复制方式进行图像缩放的程序,假设缩放因子为整数。忽略混叠效应。
2018-01-14 01:14:54 9570 1
原创 【图像处理】基于半色调技术的图像打印程序(Image Printing Program Based on Halftoning)
实验要求 本实验后面的图像给出了用点模式近似表示的10 个灰度级。每一个灰度级用一个3 x 3 的黑白点模式表示。用黑点全部填充的3 x 3 区域近似表示灰度级为0 的黑色灰度级,全部填充白点的3 x 3 模式近似表示灰度级为9 的白色灰度级。其它的点模式表示这二者之间的灰度级。基于这样的点模式的灰度级打印方案称为半色调技术。亦即输入图像中的每一个像素将对应于打印图像中的3 x 3 个像素,
2018-01-14 00:30:41 4742 1
原创 【TensorFlow】Win10+TensorFlow+Anaconda+CUDA+cuDNN
TensorFlow安装教程,Anaconda、CUDA8.0、cuDNN6.0,PyCharm配置TensorFlow
2017-12-08 20:46:15 4918
原创 【CS231n_2017】2-Image Classification
图像分类 图像分类是计算机视觉的核心问题之一,可以理解为从一组固定的类别中为输入图像贴上对应标签,说明该图像属于哪一类。虽然图像分类问题比较简单,但它有着很多的实际应用,像目标检测、图像分割这些看似不同的计算机视觉任务,都能简化成图像分类问题。 在CS231n课程中,需要用到Python和Numpy,附上基础知识教程:Python简单入门、Numpy简单入门 举个简单的例子,如下
2017-12-07 11:33:58 600
原创 【CS231n_2017】1-Introduction to CNN for Visual Recognition
本专栏根据斯坦福大学2017年公开课CS231n的视频教程整理学习资料,做学习笔记。 首先简单介绍CS231n,又称Convolutional Neural Networks for Visual Recognition。 计算机视觉在我们的社会中无处不在,广泛应用于搜索、图像理解、应用程序、测绘、医药、无人驾驶飞机和自动驾驶汽车等领域。许多应用的核心是视觉识别任务,如图像分...
2017-12-02 11:17:16 1297
原创 【OpenCV】目标检测
目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification)。
2017-11-21 01:06:43 5451 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人