<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MengchiCMC的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MengchiCMC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MengchiCMC]]></copyright><item><title><![CDATA[自定义类重载运算符<< >>，并用FileStorage保存和读取xml文件]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/79006568</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/79006568</guid><author>MengchiCMC</author><pubDate>Mon, 08 Jan 2018 19:56:38 +0800</pubDate><description><![CDATA[OpenCV在2.0以后的版本中提供了FileStorage类，供用户将数据保存为xml或者YAML文件。本文的内容就是介绍如何自定义类，而后重载> 运算符，并通过FileStorage保存和读取xml文件。
自定义一个数据类，想要保存的数据为一张图像，以及std::vector和std::vector > 两类点集。
自定义类的头文件mydata.h
#pragma once
#inclu]]></description><category></category></item><item><title><![CDATA[QGraphicsItem 鼠标点击事件编程方法]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/78943737</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/78943737</guid><author>MengchiCMC</author><pubDate>Sun, 31 Dec 2017 22:56:05 +0800</pubDate><description><![CDATA[功能需求，在QGraphicsView中显示一张图像，如下图，鼠标点击图片时返回图片坐标系内的像素坐标，但是点击边上空白部分时不返回坐标。 
 
实现思路是子类化QGraphicsView，QGraphicsScene， QGraphicsPixmapItem，并重写鼠标点击事件函数mousePressEvent(QGraphicsSceneMouseEvent* event)。光标默认的样式是手型]]></description><category></category></item><item><title><![CDATA[QGraphicsView改变光标的样式]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/78907277</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/78907277</guid><author>MengchiCMC</author><pubDate>Tue, 26 Dec 2017 22:26:48 +0800</pubDate><description><![CDATA[QGraphicsView中Item上默认的光标形状是一个手型，用于拖拽。但是下某些应用场景下，我们想要让光标变成其他的形状，比如十字形等。以下是一些解决方案： 
QGraphicsView 更改鼠标样式 以及QGraphicsItem悬停时更改鼠标样式 
Changing the cursor in a QGraphicsView 
上述方面主要就是子类化QGraphicsView，然后viewp]]></description><category></category></item><item><title><![CDATA[Cmake 找不到OpenCVConfig.cmake文件]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/78458246</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/78458246</guid><author>MengchiCMC</author><pubDate>Mon, 06 Nov 2017 15:37:57 +0800</pubDate><description><![CDATA[在利用Cmake-gui配置Visual studio2013的OpenCV工程时，遇到如下报错： 
 
这说明Cmake不能自动找到OpenCV库所在路径，解决方案是在GUI界面中手动添加OpenCVConfig.cmake以及opencv-config.cmake所在的文件夹，即配置在下图标出的绿色圈所在位置。 
 
这两个文件的所在位置一般是在OpenCV安装路径下的bin文件夹内。]]></description><category></category></item><item><title><![CDATA[Visual Studio2013配置OpenCV3.1.0]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/77994572</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/77994572</guid><author>MengchiCMC</author><pubDate>Fri, 15 Sep 2017 18:58:30 +0800</pubDate><description><![CDATA[Step1. BUILD -> Configuration Manager 窗口，将 Active solution platform 栏目内容改为x64 
Step2. 在Solution Explorer窗口内，右键项目名称 -> Properties 打开属性页面 
Step3.  属性页面下， 打开 Configuration Properties -> VC++ Directories 窗]]></description><category></category></item><item><title><![CDATA[OpenCV根据矩形轮廓进行倾斜校正]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/77981112</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/77981112</guid><author>MengchiCMC</author><pubDate>Thu, 14 Sep 2017 16:41:56 +0800</pubDate><description><![CDATA[本文将介绍如何利用OpenCV，提取图片中的矩形轮廓特征并进行图片的倾斜校正。完成demo程序可以至：OpenCV根据矩形轮廓进行倾斜校正下载。本demo所处理的图片是一张PCB电路板（如下图），欲实现的功能是将图片中倾斜的PCB校正为水平。基本的思路是检测PCB的边缘直线，而后根据边缘直线的斜率旋转图片。但是由于PCB上布满了各种原件，所以图片在经过轮廓提取直线检测后，会误检出很多条直线。demo]]></description><category></category></item><item><title><![CDATA[VS2013配置64位ZBar、OpenCV]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/77871714</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/77871714</guid><author>MengchiCMC</author><pubDate>Wed, 06 Sep 2017 22:05:34 +0800</pubDate><description><![CDATA[本人想利用OpenCV与ZBar实现二维码扫描功能。PC上已经配置好了OpenCV3.1.0，并且VS2013配置为64位的开发环境。按照教程：二维码解码器Zbar+VS2012开发环境配置，配置了ZBar0.10，后利用如下代码测试：#include <iostream>    
#include<opencv2/opencv.hpp>
#include <opencv2/core/core.hp]]></description><category></category></item><item><title><![CDATA[Qt4 工程升级为Qt5工程]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/77540079</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/77540079</guid><author>MengchiCMC</author><pubDate>Fri, 25 Aug 2017 15:03:02 +0800</pubDate><description><![CDATA[Qt5和Qt4相比，有很大的改动和不同，可以参考：从Qt4 到Qt5的变化。 
本人电脑安装了Qt5.9.1，在运行《C++ GUI Qt4编程》（第二版）附带源程序时发生了一些问题，本文就介绍一下如何将Qt4工程升级为Qt5，并在新版本的Qt Creator中运行。 
以《C++ GUI Qt4编程》（第二版）第二章中的程序gotocell2为例，原本的工程目录包含如下5个文件： 
 
然后打开g]]></description><category></category></item><item><title><![CDATA[Qt5 由.ui文件生成.pro文件和C++文件]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/77540072</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/77540072</guid><author>MengchiCMC</author><pubDate>Thu, 24 Aug 2017 22:59:46 +0800</pubDate><description><![CDATA[Qt新手，因为项目需要临时学习。在win10系统上安装了Qt5.9.1的最新版本，跟着《C++ GUI Qt4编程》（第二版）学习。由于IDE和教程版本不同，初入手是遇到不少问题。教材2.3节 快速设计对话框介绍了如何使用Qt Designer设计对话框界面。按照教程指导一步步构建一个如下的对话框ui文件gotocelldialog.ui： 
 
 
接着教程上说“现在运行qmake，生成一个.pr]]></description><category></category></item><item><title><![CDATA[OpenCV + Java（Android） 设置ROI]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/74352122</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/74352122</guid><author>MengchiCMC</author><pubDate>Tue, 04 Jul 2017 18:48:01 +0800</pubDate><description><![CDATA[在处理图像时， 我们经常需要提取图片中的重要部分进行分析，滤除不重要的噪声背景。通常的操作是设置感兴趣区域(Region of Interest, ROI)，然后分割图片。由于操作对象形状的不同，ROI也会具有不同的形状。从简单的矩形，到稍复杂的圆形、椭圆，以及更为复杂的不规则形状。网上有很多关于C++版本的OpenCV设置ROI的博文，但是Java语言版的颇少，本文就着重介绍一下在Java或者An]]></description><category></category></item><item><title><![CDATA[绘制灰度直方图（OpenCV + Java）]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/73499475</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/73499475</guid><author>MengchiCMC</author><pubDate>Tue, 20 Jun 2017 15:59:49 +0800</pubDate><description><![CDATA[本文介绍一下如何使用Java语言绘制灰度图的直方图。由于Java环境下OpenCV不提供Mat图像的显示方法，如imshow()，因此需要使用SWing组件自己编写显示方法。同时，OpenCV的Jar包也并没有提供相关的抽象数据类型和方法，比如CvHistogram等。一、灰度直方图简介 
灰度直方图是灰度级的函数，描述图像中该灰度级的像素个数（或该灰度级像素出现的频率）：其横坐标是灰度级，纵坐标表]]></description><category></category></item><item><title><![CDATA[OpenCV图像读取与灰度化]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/73466182</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/73466182</guid><author>MengchiCMC</author><pubDate>Mon, 19 Jun 2017 13:18:55 +0800</pubDate><description><![CDATA[在OpenCV中，图像的读取可以通过imread()函数实现： 
Mat imread( const String& filename, int flags = IMREAD_COLOR ); 
读取后的数据存储格式由第二个形参flags决定。flag的值可以从枚举类型cv::ImreadModes中选取：enum ImreadModes {
    IMREAD_UNCHANGED = -1, /]]></description><category></category></item><item><title><![CDATA[基于OpenCV的数码管数字识别]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/73176295</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/73176295</guid><author>MengchiCMC</author><pubDate>Tue, 13 Jun 2017 14:01:38 +0800</pubDate><description><![CDATA[利用OpenCV可实现工业仪表设备的读数识别。仪表一般可分为两：数字式仪表和指针式仪表，本博文主要介绍一下数字式仪表识别的关键技术。下图是用软件模拟的数码管图片，本文识别的也就是图中的数字。一、图像定位 
在实际的应用场景中，拍摄到的仪表区域很有可能会包含多余的背景部分，一个比较简单的解决方法是在拍摄时先行设定一个边界区域，提醒拍摄者将待识别的内容限制在区域中。后期识别时直接提取边界区域内的信息进行]]></description><category></category></item><item><title><![CDATA[Android TextView实现水平滚动显示效果]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/72819758</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/72819758</guid><author>MengchiCMC</author><pubDate>Wed, 31 May 2017 13:59:18 +0800</pubDate><description><![CDATA[方法一、xml设置属性+程序中获取焦点第一步，首先在xml文件中设置TextView的属性：<TextView
        android:id="@+id/text"
        android:layout_width="340dp"
        android:layout_height="65dp"
        android:layout_gravity="center_h]]></description><category></category></item><item><title><![CDATA[OpenCV图像拷贝方法与注意点（=、copy、clone）]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/69568469</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/69568469</guid><author>MengchiCMC</author><pubDate>Fri, 07 Apr 2017 16:09:57 +0800</pubDate><description><![CDATA[下面介绍三种OpenCV复制图像的方法：方法1：直接赋值使用用赋值运算符“=”进行的拷贝是一种浅拷贝，虽然它们有不同的矩阵头，但是二者共享相同的内存空间，二者内容相互关联，任何一个变量变化的同时另一个变量也随之改变。/*OpenCV v1版本*/
IplImage img_origin = cvLoadImage(".\\picture.jpg", CV_LOAD_IMAGE_COLOR); //]]></description><category></category></item><item><title><![CDATA[STM32引脚JTDO、JNTRST与JTDI作为普通IO口使用配置]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/69337334</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/69337334</guid><author>MengchiCMC</author><pubDate>Wed, 05 Apr 2017 20:31:19 +0800</pubDate><description><![CDATA[使用Jlink向STM32烧录程序时，需要使用6个芯片的引脚(以STM32F103C8T6为例)，分别是PB4/JNTRST、PB3/JTDO、PA13/JTMS、PA14/JTCK、PA15/JTDI、NRST。标准的20针JLink接口如下图所示。 
 
但芯片IO口资源比较紧张时，可选择SW模式烧录程序。SWD只需用到PA13/JTMS、PA14/JTCK两根线，NREST可以接可不接，而剩下]]></description><category></category></item><item><title><![CDATA[LTE中的非连续接收机制(DRX)]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/68141374</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/68141374</guid><author>MengchiCMC</author><pubDate>Wed, 29 Mar 2017 21:34:07 +0800</pubDate><description><![CDATA[在无线网络中，当有数据需要进行传输时，用户终端(User Equipment, UE)要一直监听物理下行控制信道(Physical Downlink Control Channel, PDCCH)，根据网络侧发送的指示消息对数据进行收发，这样导致 UE的功耗和数据传输的时延都比较大。因此3GPP标准协议在LTE系统中引入非连续接收机制（Discontinuous Reception，DRX）节能策略]]></description><category></category></item><item><title><![CDATA[基于蓝牙5(BTIoT-5)的物联网架构]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/68136182</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/68136182</guid><author>MengchiCMC</author><pubDate>Wed, 29 Mar 2017 21:28:29 +0800</pubDate><description><![CDATA[下图是一个基于蓝牙5(BTIoT-5)的物联网架构图。该架构分成了六层，分别是：硬件设备层、微控制器层、蓝牙连接层、互联网连接层、物联网蓝牙云平台层和应用层。硬件设备层处于架构的最底层，比如车辆、传感器、智能手机、国防设备、农业设备以及家用电器等等。硬件层负责的任务就是把设备自身或者周围的信息发送给上层，即微控制器层。微控制器主要应用于各种自动控制设备，包括医疗设备、工业设备、办公设备等等。许多控制]]></description><category></category></item><item><title><![CDATA[SSD主控的软件架构]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/68131336</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/68131336</guid><author>MengchiCMC</author><pubDate>Wed, 29 Mar 2017 21:23:47 +0800</pubDate><description><![CDATA[1)  操作系统位于整个系统的最上层，直接关系到用户的使用体验，普通用户只需要在操作系统中进行一些操作即可。如：WINDOWS、OS、Linux等。2)  文件系统：文件系统位于操作系统之下，操作系统的指令是通过文件系统来到达硬盘的，所以每个操作系统都会有不同的文件系统，例如WINDOWS上使用的NTFS，FAT等，Linux上使用的ext3，ext4等等。3)   底层驱动：底层驱动是位于软件层面]]></description><category></category></item><item><title><![CDATA[浅谈窄带物联网（NB-IoT）]]></title><link>https://blog.youkuaiyun.com/MengchiCMC/article/details/68077458</link><guid>https://blog.youkuaiyun.com/MengchiCMC/article/details/68077458</guid><author>MengchiCMC</author><pubDate>Wed, 29 Mar 2017 20:25:44 +0800</pubDate><description><![CDATA[一、发展历程物联网通信技术繁多，从传输距离上可划分成两类：第一类是短距离通信技术，例如ZigBee、Wi-Fi、Bluetooth等，典型的应用场合如智能家居；第二类是低功耗广域网(Low Power Wide Area Network, LPWAN)，典型的应用为智能抄表系统。LPWAN技术又可根据工作频段分为两类：一类工作在非授权频段，如Lora、SigFox等，此类技术无统一标准，自定义实现；]]></description><category></category></item></channel></rss>