自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 外部程序只运行一个实例的方法

connect(Process, &QProcess::stateChanged, [=](const QProcess::ProcessState newState) { //如果运行状态变成NotRunning,关闭Process. if (newState == QProcess::NotRunning) { Process->close(); .

2022-03-14 19:06:14 616

原创 win10下GIT服务器搭建与VS2019使用

两篇参考文章:Visual Studio 2019中如何使用Git - springsnow - 博客园​​​​​​​https://www.cnblogs.com/zoro-zero/p/14069347.html需要注意:1、需要验证gitblit服务是否启动,否则的话,需要一直用命令行启动。2、VS2019连接到GIT服务器时,最好先建一个空项目去验证,如果直接将自己原来的大项目去上传的话,时间可能会比较长,导致分不清到底是配置的问题,还是上传慢的问题。自己原来的项目中,也要注..

2021-11-02 15:57:19 582

原创 设计支持移动的对象

要让你设计的对象支持移动的话,通常需要下面几步:你的对象应该有分开的拷贝构造和移动构造函数(除非你只打算支持移动,不支持拷贝——如 unique_ptr)。你的对象应该有 swap 成员函数,支持和另外一个对象快速交换成员。在你的对象的名空间下,应当有一个全局的 swap 函数,调用成员函数 swap 来实现交换。支持这种用法会方便别人(包括你自己在将来)在其他对象里包含你的对象,并快速实现它们的 swap 函数。实现通用的 o...

2021-08-30 20:07:21 117

原创 信号槽的书写方式

Qt4的书写方式QPushButton* button = new QPushButton("Quit");connect(button, SIGNAL(clicked()), &a, SLOT(quit()));这种写法没有编译错误,而是在运行时给出错误,无疑会增加程序的不稳定性。只有在 Debug 模式下运行时才会提示槽函数不存在,Release 模式下运行时不会给予任何错误提示。Qt5的书写方式QPushButton button("Quit");QObject::co

2021-08-24 12:40:08 266

原创 QT传递自定义结构体的方法

typedef struct Info_s{ int No; //页号 int TotalPages; //总页数 }Info;Q_DECLARE_METATYPE(Info);

2021-06-01 08:25:12 3256

原创 常用控件缩写

控件名 缩写 Buttom按钮 Btn CheckBox复选框 Chk ColumnHeader视图列表头 Col ComboBox组合框 Cbo ContextMenu快捷菜单 Ctm DataGrid数据网格控件 Dg DataGridView数据网格视图控件 Dgv DteTimePicker时间输入框 Dtp DomainUpDown数值框 Dud Form窗体 Frm GroupBox 组

2021-05-20 16:34:19 911

原创 QSqlQueryModel与QTableView的使用方法

废话不多说,直接上代码,说明都在代码里。QSqlQueryModel* model = new QSqlQueryModel(ui.tableView);///如果是更新操作,记得提前进行删除model->clear();const QString st = QString("select * from table);///这里一定要添加第二个参数database连接,否则tableview不会显示///数据库连接的初始化和删除,请见https://blog.csdn.net/f

2021-05-19 09:16:15 972

原创 QT数据库连接初始化和删除的方法

从网上查了很多资料,大多只是简单的说一下,没有详细的说明。后来又认真看了一下QT助手资料,写一数据库连接的详细用法。不多说,看以下代码就明白了。QString connect = "connectname"; //自定义的连接名称{ //这个括号一定要有,这样可以把QSqlDatabase约束在一个指定的作用域范围内 QSqlDatabase data; PatternImgMs::initDateBase(data, connect); const QString time = .

2021-05-19 09:02:57 1017 1

原创 常用删除函数指针模板类

/// @brief 删除指针/// @tparam T 模板类/// @param ptr 指针template<class T>void deletePtr(T* ptr){ if (ptr) { delete ptr; ptr = nullptr; }}在程序里直接调用函数就删除所有类型的函数指针了。

2021-05-19 08:53:19 216

原创 VS2019+QT 修改运行程序图标

1、修改的是EXE的图标,而不是运行时任务栏的图标。2、在项目上右键添加新建项。选择其中的资源文件。注意新建以后,可能会报出下面的错误。解决办法:用记事本打开RC文件,另存为,将编码改为UTF-8即可。3、双击打开.rc文件。然后在RC文件夹右键添加资源。点击导入,选择ICO图标,、注意一定要是ICO图标,如果没有,自己把原来的图标转换一下。4、重新编译生成即可。...

2021-05-13 15:47:47 2042

原创 颜色管理中所涉及的一些基本概念

ICC:国际色彩联盟 International Color ConsortiumPCS:连接色空间 Profile Color Space设备色彩特征化:建立设备色彩空间与连接空间PCS转换关系的过程。ICC profile文件:按照ICC规范将设备色彩特性化结果以及进行色彩转换时所需的其他设备色彩信息 ( 例如设备色域、介质白 的三刺激值 、连接空间等 ) 以规定的格式保存的设备色彩特性文件。色域:Color Gamut。颜色空间中所有颜色的集合或设备所能呈现的颜色范围。色域匹配:C

2021-04-02 09:39:43 314

原创 印刷专色的相关知识

使用: 1.为在印刷品上能印出一些CMYK四色印刷油墨以外的可见光颜色CMYK四色印刷油墨的色域与可见光色域相比有明显的不足,而专色油墨的色域则比CMYK四色印刷油墨色域宽,故可以表现CMYK四色油墨以外的许多颜色。2.为弥补印刷技术的不足由于印刷整体流程中各个工序的误差、设备维护,作业环境、认为疏漏与机械性磨损等问题,造成在印153以下小网点时,很难得到平整均匀的网点色彩,这时候我们可以用同样色彩的满版套色(即专色实地)取代小网点做印刷,就能较容易地得到平整的大面积色块。另外,有时为...

2021-01-04 14:18:16 698

原创 元属性与属性表控件的使用

之前使用属性表控件,都要使用类似于MAP的方式来进行数据的处理。今天看到了Q_PROPERTY这个宏,利用它可以在自己的类里注册元属性,也是QT里大量使用的一种方式。在属性表源码中有一个用于属性表控制的类--ObjectController。他可以将当前的类的所有元属性,包括基类,都用属性表方式表示出来,而且Q_PROPERTY定义的属性可以响应数值的修改,就类似于信号与槽的机制,非常方便。需要注意:有时候可能不想显示基类的元属性。需要把ObjectController.cpp文件中的函数稍

2020-12-11 17:49:10 306

原创 智能指针的三种初始化方法

//初始化方式1std::shared_ptr<int> sp1(new int(123));//初始化方式2std::shared_ptr<int> sp2;sp2.reset(new int(123));//初始化方式3std::shared_ptr<int> sp3;sp3 = std::make_shared<int>(123);

2020-12-08 09:50:52 9486

原创 屏蔽qDEBUG输出的方法

在VC项目配置里C/C++ /Preprocessor /Preprocessor Definitions属性里面加入宏定义:QT_NO_DEBUG_OUTPUT

2020-11-24 10:14:29 327

原创 VS2013好用的插件

切换到vs2013上有些时间了,以下是我个人认为比较好的插件。Resharper 神器中的神器,提升编码效率的第一神器,附带提高编码能力;除去臃肿的体积,堪称完美; Productivity Power Tool 提高的都是生产力,谁用谁知道; AnkhSvn 常在河边走,哪能没有SVN; Local History 还没提交SVN就发现要重写了,control z啥的次数实在不够用,还是local history双保险吧; Editor Guidelines 我屏幕小,字体大,一屏20行代码.

2020-11-20 15:08:14 1142

原创 QtConcurrent多线程

1. run()函数Concurrent::run()表示在一个单独的线程中执行函数。它的基本原型如下:QFuture QtConcurrent::run(QThreadPool *pool, Function function, …)参数function: 表示要在线程中执行的函数。 参数pool:线程池。表示从线程池中获取一个线程来执行该函数。 注意:函数可能不会立即执行;一旦线程池中的线程有可用的线程时,才会被执行。 返回值:返回一个QFuture<T&gt...

2020-11-02 11:15:51 2296

原创 C/C++通过指针得到数组大小

引入<malloc.h>头文件,使用其中的_msize()函数得到数组的字节数,再除以sizeof(type)即可。int* a;a = (int*)malloc(sizeof(int) * 6);cout<< _msize(a)/sizeof(a[0]);

2020-10-30 12:53:51 2166

原创 spadlog使用实例

//// Copyright(c) 2015 Gabi Melman.// Distributed under the MIT License (http://opensource.org/licenses/MIT)// spdlog usage example#include <cstdio>// 标准输出类型void stdout_logger_example();// 基本类型:日志文件会一直被写入,不断变大。void basic_example();// 滚动类.

2020-09-30 17:34:31 472

原创 半色调算法之点扩散

1、TABLE1是提前计算好的,从其中的1依次开始处理,与图像的位置对应,就是用像素坐标对表的大小求余。2、用公式(1)对相应位置的像素进行半色调处理。3、利用公式(2)将相应的误差扩散到周围的像素上,正交像素用(a),对角像素用(b),误差扩散的方式如图1所示,其中比当前位置小的不用扩散。4、按TABLE1中数字依次递增的顺序处理,直到所有像素处理完成。Baron:表中周围只有比它小的数字,这个数字的位置不用扩散误差。Near-baron:表中周围只有一个比它大的数字,这个数字的位

2020-09-24 16:17:58 1550

原创 半色调图像中高频与低频的理解

图像频率图像处理中经常遇到”处理高频信号”与”处理低频信号”,对于图像而言,频率的高低,就是图像灰度变化的快慢,也就对应了:低频是噪声和细节,高频是轮廓低频低频就是颜色缓慢地变化,也就是灰度缓慢地变化,就代表着那是连续渐变的一块区域,这部分就是低频。对于一幅图像来说,除去高频的就是低频了,也就是边缘以外的内容为低频,而边缘的内容就是图像的大部分信息,即图像的大致概貌和轮廓,是图像的近似信息。高频反过来,高频就是频率变化快。图像中什么时候灰度变化快?就是相邻区域之间灰度相差很大,这就是变化

2020-09-21 09:57:09 1196 2

原创 Qt内存自动释放有两个前提条件

Qt内存自动释放有两个前提条件:必须是QObject的派生类 必须指定了parent对象

2020-09-17 12:07:33 485

原创 自定义的按比特位拷贝函数

// 从src数组首地址跳过sbb个字节,又跳过ssb个比特位,拷贝nbits个比特位的数据到// dest数组首地址跳过dbb个字节,又跳过dsb个比特位位置int copybits(const unsigned char* src, int sbb/*source begin byte*/, int ssb/*source skip bit*/, unsigned char* dest, int dbb/*dest begin byte*/, int dsb/*dest skip bit*/...

2020-09-07 16:02:16 435

原创 折手上应显示与标注的内容

(1)准确标注产品的最终成品尺寸,包括印张开幅;(2)正确标注页码,逢暗码页面,应用简要文字标注页面主要内容,如扉页、目录、前言、序、后记、版权页等;(3)正确标注印刷叼口边,印张较多时应编注版号、正背关系及折标;(4)对于折页类产品应根据不同的折叠方式标明折线位置,裁切小成品的产品应标明裁切线;(5)标明所在版面的色相(如四色、单黑或专色、多色)。...

2020-07-30 11:49:47 215

原创 如何检测指针指向数组的大小和容量

包含头文件#include <malloc.h>然后在函数中调用int t = _msize(指向数组的指针);t就是整个数组大小再用t除以sizeof(数组数值类型),就是数组的容量。

2020-07-28 16:18:17 2264 1

原创 VS调用动态库的最简单方法

1、将.LIB文件添加到项目中。2、在调用的文件头部#INCLUDE相关头文件3、将.DLL文件复制到相应的.exe生成目录中。完成。

2020-07-28 08:36:29 1060

原创 书本的拼装

印张: 简单的说一个印张等于全开纸的1/2,印一张对开纸(以对开印刷机为标准定义的),印张=页码/印品开别 (1)一本96个页码的16开书(以下均在对开机印刷) 印张=96/16=6,那么6个印张,也是说用6张对开纸(3张对开纸)完成这本书 ※ 该印版一个印张有16个页码,是正面8个页码,反面8个页码,这样合起来才为一个印张。 (2)一本88个页码的16开书,印张=88/16=55,理论上5个半印张,即5张半对开纸可以完成...

2020-07-21 17:00:40 1458

原创 PDF的box: MediaBox、CropBox、BleedBox、TrimBox和ArtBox

一个PDF描述了一页或者多页的内容,一页的准确大小很可能不是你想的那样。在PDF中共有5个不同的大小描述术语。它们统称为page box:MediaBox用来描述页面的高度和宽度。对于普通用户,这个大小很可能等同于实际的页面大小。对于用于印前处理,就不太适合,因为我们更希望将页面定义得稍微大一点以便让我们看到页面的bleed(bleed是什么?下面有解释,国外的一个网站介绍的)、裁剪标记和有用的信息比如文件名或者文件创建的时间日期。这就意味着用于图形印刷品的PDF通常其MediaBox比裁剪页面大小稍大

2020-07-20 09:36:39 4407 1

原创 FreeType 学习笔记

GTK+(基于DirectFB)的字体绘制是通过pango+freetype+fontconfig三者协 作来完成的,其中,fontconfig负责字体的管理和配置,freetype负责单个字符的绘制,pango则完成对文字的排版布局。而我对这一部分 的了解,基本上是空白的。这两天为了解决一个关于字体的BUG,花了一些时间阅读相关资料,这里记录一些freetype的学习笔记。尽管点阵字体在时间和空间性能上都有较佳的表现,但是由于缺乏灵活性,无法改变字体的大小和风格,除了在一些嵌 入式设备中仍然在使.

2020-07-14 17:08:22 1114

原创 可以用的C++线程池。

不多说,直接上代码。//ThreadPool.h#pragma once #include <functional> #include <future> #include <mutex> #include <queue> #include <thread> #include <utility> #include <vector> #include "SafeQueue.h" #include &l

2020-07-10 11:42:08 293

原创 ghostscript中所涉及的部分公开库

1、libtiff。一种读写TIFF的文件库。2、mupdf。一个PDF格式分析器。3、lcms。开源颜色管理系统库。

2020-07-07 10:29:08 301

原创 利用BIPPCCA算法生成阈值数组

这是阈值数组生成的主要步骤。它是在前文BIPPCCA算法(https://blog.csdn.net/fghler/article/details/106471649)的基础上来实现的。这里需要关注的点主要有:1、这个算法要生成255个绿噪声色调,再加上0,一共是256个。也就是每个灰度级都要对应一个色调。所以,这个算法的运算量还是很大的,需要特别关注时间优化。2、最后的数组是取这255个色调中相对应位置为1,且最小灰度值为当前位置的灰度值。3、255个色调的生成顺序是不固定的。但在实际中表..

2020-07-06 17:28:41 297 1

原创 PDF解析流程

PDF解析流程:a)从trailer中找到Root关键字,Root是指向Catalog字典,Catalog是一个PDF文件的总入口,它包含Page tree,Outlinehierarchy等。b)从Catalog中找到Pages关键字,Pages是PDF所有页面的总入口,即Page Tree Root。c)从Pages中找到Kids和Count关键字,Kids中包含Page子节点,Count列出该文档的总页数。到这里我们已经知道PDF文件有多少页了。d)从Page字典中获取MediaBo.

2020-06-01 15:09:09 1591

原创 绿噪声阈值数组生成算法BIPPCCA简要

binary pattern pair correlation construction algorithm:此算法是一种生成绿噪声阈值数组的算法。用这种绿噪声阈值数组进行半色调算法,既可以保持蓝噪声的点分布随机均匀的特点,也可以自定义点的大小,也就是保持调幅算法的优点。在后续的工作中应该会用到,这里做个记录。1、初始化一个M*N的数组,所有值为0;2、随机选择中的一个元素,将其转换为1;3、生成一个的M*N的随机数数组U,用这个数组表示中相应位置的元素转换成少数元素(此处为1)的概率。也就是一

2020-06-01 15:07:11 601 7

原创 视觉特性

(1)人的水平视野比垂直视野大得多;眼睛沿水平方向运动比沿垂直方向运动快而且不易疲劳,一般先看到水平方向上的物体后看到垂直方向上的物体,人眼对水平方向尺寸和比例的估计比对垂直方向尺寸和比例的估计要准确得多。因此,很多仪表、显示器都设计成横长方形。(2)视线的变化习惯于从左到右、从上到下和顺时针方向运动。所以,仪表的刻度方向设计应遵循这一规律。(3)当眼睛偏离视中心时,在偏离距离相等的情况下,人眼对左上限的观察最优,依次为右上限、左下限,而右下限最差。视区内的仪表布置应遵循这一规律。(4) 两眼的

2020-05-27 12:46:01 2664

原创 人类视觉特征与颜色

以下内容大都是从网络上摘抄下来的,只是为了强化记忆,方便以后查询。这幅图展示了人眼的结构示意图,这是一个非常复杂的光学成像系统。在视觉系统中,视网膜是一个超级重要的组件,起到了承上启下的作用。在视网膜表面以前,是一个个单独的光感细胞在进行光信号的搜集,人类的感知系统还没有介入,据估计光感细胞的数量在1.3亿左右。你可以粗略的认为从角膜到视网膜的表面构成了一个1.3亿像素的数码相机。而视网膜光感细胞内部则形成了复杂的连接,有趣的是,视神经由大约一百万根纤维组成,携带着大约1.3亿光感受器产生的信息,因

2020-05-27 11:25:49 2058

原创 半色调算法:蓝噪声模板VOIDandCLUSTER算法

最近一直在关注半色调算法。其中的蓝噪声模板法算法简单、运行速度快,是半色调算法中一种常用算法。void and cluster算法是一种常用的生成蓝噪声模板的方法。这几天认真研究了这一算法,特将算法的基本情况作一简单梳理,方便以后查阅。算法的目标:生成一个用于对图像进行半色调处理的蓝噪声模板。对一个N*N的初始数组,通过算法处理后,数组的元素值是0-(N*N-1)之间的。用于半色调处理时,需要进行归一化。算法的主要思想:通过计算一个1位(只有黑和白,也就是0和1)的BINARAY图像的所有点

2020-05-26 15:00:27 1738 2

原创 RIP的概念与技术指标

RIP(Raster Image Processor),光栅图像处理器。RIP的主要作用是将计算机制作版面中的各种图像、图形和文字解释成打印机或照排机能够记录的点阵信息,然后控制打印机或照排机将图像点阵信息记录在纸上或胶片上。RIP通常分为硬件RIP和软件RIP两种,也有软硬结合的RIP。硬件RIP实际上是一台专用的计算机,专门用来解释页面的信息。由于页面解释和加网的计算量非常大,因此过去通常采用硬件RIP来提高运算速度。软件RIP是通过软件来进行页面的计算,将解释好的记录信息通过特定的接口卡传

2020-05-09 15:57:04 1530

原创 C++中头文件相互包含与前置声明

为了保证头文件仅被编译一次,在C++中常用的办法是使用条件编译命令。在头文件中我们常常会看到以下语句段:#if !defined XXX_H#defineXXX_H //……#endif  其中首句#if !defined也经常做#ifndef,作用相同。意思是如果没有定义过这个宏,那么就定义它,然后执行直到#endif的所有语句。如果下次在与要这段代码,由于已经定义...

2020-04-24 15:02:18 210

原创 WINDOWS 10下注册OCX、DLL文件的注意事项

1、需要运行regsvr32.exe进行注册,在开始菜单中用管理员权限运行命令行,进入C:\WINDOWS\SYSWOW64文件夹中。2、最好将DLL、OCX文件复制到C:\WINDOWS\SYSWOW64中。...

2020-01-16 16:46:49 849

matlab归一化相关函数

matlab归一化相关函数 一个相当不错的图像相关函数

2009-11-18

09年考研计算机大纲详解

09考研计算机大纲详解,最新的,快来下吧。

2008-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除