Gimp 快速入门(5)

Gimp 快速入门(5)添加文字在图像中添加文字是比较简单的,工具栏上有专门的文字工具。 选中文字工具后就可以设置字体等参数了。 之后在图中添加文字就可以了。每添加一处文字就会生成一个新的文字图层。大家可以在右边的侧边栏中查看图像中的图层。后面我们会详细介绍图层,这里只要知道 gimp 可以生成多个图层,每个图层相当于一个独立的图像就可以了。 在这里我用文字工具添加了两处文字。所以有两个图层。...
阅读(75) 评论(0)

Gimp 快速入门(4)

Gimp 快速入门(4)图像锐化大家可以看看下面这两幅图。右边的明显比左边的清晰,或者说更锐利。 gimp 中就有不少工具能够使得图像更加锐利。这里介绍一个比较常用的工具,叫做 Unsharp Mask,这个工具的名字起的不太好。看到这个名字,大多数人都不会将它与图像锐化联系起来。但它却是是个十分有用的图像锐化工具。 这个工具的位置在: Filters -> Enhance -> Unsha...
阅读(90) 评论(0)

Gimp 快速入门(3)

Gimp 快速入门(3)调整图像的亮度、对比度图像的亮度、对比度是图像处理软件的基本功能,在 GIMP 中也非常的简单。 Color 菜单中直接就有亮度、对比度子菜单。点击之后会弹出如下的设置窗口。 除了亮度、对比度调节,GIMP 中还可以调整 level 和 curve。这两个属于更高级的调整。Level 调整Level 调整是直接调整图像的亮度直方图。 Color-> Level 可以调出 L...
阅读(78) 评论(0)

GIMP 快速入门(2)

图像翻转图像->变换 菜单中有几个菜单项可以实现图像的各种翻转,还有几个图像的基本的旋转。 功能比较简单,请大家自己试一下。图像剪裁上一篇博客介绍了个自动剪裁。这里介绍其他几种剪裁方法。工具箱中有剪裁工具,请参见下图。选好参数后在图像上拉选希望的区域就可以了。如果选择了 Golden sections,那么拉出来的高亮区域会显示个三乘三的网格,这个网格的比例刚好是黄金分割。选好区域后,按回车键就完...
阅读(65) 评论(0)

GIMP 快速入门(1)

GIMP 快速入门(1)Gimp 全称 the GNU Image Manipulation Program,是一个跨平台的开放源代码的图像处理软件,有着 linux 下的 photoshop 的称号。最近我在网上找到一本名为 “GIMP for Absolute Beginners” 的电子书,篇幅不大,而且也比较浅显易懂。我用了几天通读了一遍,就算是入门了。这篇博客,就是读这本书时做的一些笔记。...
阅读(76) 评论(0)

Qt 中的智能指针

Qt 中的智能指针上一篇博客中介绍了 C++11 标准中的提供的智能指针。在 Qt 中也提供了类似的替代功能,并且比 C++11 标准中提供的功能还要强大,所以如果我们使用 Qt 作为基础库,那么就没有必要使用C++11 的智能指针。Qt 的智能指针包括: QSharedPointer QScopedPointer QScopedArrayPointer QWeakPointer QPointer...
阅读(82) 评论(0)

C++ 中的智能指针

C++ 中的智能指针长久以来 C++ 最被人诟病的就是它的内存管理,写个稍微复杂点的程序就经常会碰到内存泄漏问题。为了解决这个问题,C++ 也做了许多努力。在 C++98 标准中首先提出了智能指针的概念,引入了 auto_ptr。但是在实践中,auto_ptr 有不少问题。因此在 C++11 标准中对原有的智能指针又做了进一步的升级,根据应用场景的不同,分成了 shared_ptr, weak_pt...
阅读(77) 评论(0)

模拟退火算法的 C++ 实现

模拟退火算法的 C++ 实现最近的一个项目中需要实现个路径规划的算法,需要求得的路径的总长度尽可能的短。这就是典型的旅行商(TSP)问题了。解决这个问题的一个比较好用的方法就是模拟退火算法。网上关于用模拟退火算法解决 TSP 问题的文章挺多的,其中也有不少号称给出了 C++ 代码。但是说句实话,这些代码中没有一个是按照面向对象的思想来实现了,并没有把模拟退火算法的框架封装好。因此,遇到一个新问题时,...
阅读(96) 评论(0)

一个用于 Qt 项目的简单的日志库

一个用于 Qt 项目的简单的日志库在写 Qt 程序时,经常会用到 qDebug 输出一些调试信息。但是正式发布时这些信息就看不到了,这时就很需要有个日志系统,可以把程序输出的一些关键性的信息记录下来。上网查找了一番,是有个开源项目叫 log4qt 的。不过这个项目许久都不更新了。看了看这个项目还挺复杂的,感觉用不到这么多功能。所以就自己山寨了个简单的日志库。Qt 中有个 qInstallMessag...
阅读(167) 评论(0)

Qt(C++)项目中使用 Basler 工业相机(图像获取策略)

Qt(C++)项目中使用 Basler 工业相机(图像获取策略)Pylon 中的 CInstantCamera 类支持四种图像获取策略,分别称为: One by One Grab Strategy Latest Image Only Grab Strategy Latest Images Strategy Upcoming Image Grab Strategy 下面就简单写写这几种策略的含义和区别...
阅读(492) 评论(7)

Qt(C++)项目中使用 Basler 工业相机(2 参数设置)

Qt(C++)项目中使用 Basler 工业相机(2 参数设置)上一篇博客介绍了 pylon 的基本结构和如何枚举系统中的相机。这一篇主要讲讲如何设置相机的各个参数。在设置相机参数之前,先要获取相机对象。Pylon::CTlFactory 具有一个 CreateDevice() 方法可以用来生成一个相机对象,并返回一个指向 IPylonDevice 的指针。下面的代码用来获取枚举出来的第一个相机对应...
阅读(603) 评论(0)

Qt(C++)项目中使用 Basler 工业相机(1)

Qt(C++)项目中使用 Basler 工业相机(1 枚举相机)最近的一个项目中用到Basler 的GigE 接口的工业相机。为此花了好几天时间研究了pylon 的用法。本文就是学习过程中做的笔记。Pylon 的结构可以参考下图。 图 1 Pylon 的结构 整个pylon 对 GenICam 接口进行了封装,但是这个封装并不是特别的彻底。只有理解了GenICam 的设计思想才能真正明白pylo...
阅读(466) 评论(0)

Qt(C++) 截屏的方法

最近一个Qt(C++)的项目需要用到截屏的功能,就花时间研究了一下如何实现。 Qt 确实是好用,截屏只需要下面三行代码就够了。QDesktopWidget *desk = QApplication::desktop(); QScreen * screen = QGuiApplication::primaryScreen(); QPixmap p = screen->grabWindow(desk-...
阅读(782) 评论(0)

Qt 中获取摄像头图像数据的方法

Qt 中获取摄像头图像数据的方法在 Qt 中提供了 QCamera 类用来操作摄像头。(这里的摄像头指的是电脑上常用的那种 USB 摄像头或网络摄像头,暂时还不支持工业相机。)摄像头获取的实时图像可以显示在 QCameraViewfinder 或 QGraphicsVideoItem 上,QCameraImageCapture 可以获取静态的图像,QMediaRecorder 可以用来录像。用这些现...
阅读(1292) 评论(0)

C++ 复制构造函数不能用 explicit 修饰

最近在写的一个代码。出现个莫名其妙的编译问题。代码可以简化成这样: class foo { public: foo(); explicit foo(int a){m_a = a;} explicit foo(foo &a) {m_a = a.m_a;} private: int m_a; };int main() { foo x; foo b = x;...
阅读(151) 评论(0)

菲索干涉仪 (Fizeau interferometer) 的基本原理

菲索干涉仪 (Fizeau interferometer) 的基本原理最近一个项目,要测量一个玻璃平面是否平整。调研了一番后发现有种菲索干涉仪就是做这个用途的。这里简单记录一些菲索干涉仪的基本原理。算是个备忘。菲索干涉仪是法国物理学家 Hippolyte Fizeau 在研究以太 (ether)的性质时发明的一种光学仪器。虽然以太已经被证明时不存在的,但是他发明的干涉仪却成为一种重要的光学仪器留了下...
阅读(378) 评论(0)

C++ 中 public、protected 及 private 的作用总结

C++ 中 public、protected 及 private 的作用总结C++ 中 class 的访问权限分的很细,有 public、protected 及 private 三种,派生子类时又有三种派生类型,搭配起来就有 9 中不同的组合了。下面用一张表总结了这些搭配的不同。其中,括号中的时在派生类中这些成员变量(函数)的角色。 成员变量修饰符 类外的普通函数 public 派生类...
阅读(283) 评论(0)

pkg-config 用法简介

pkg-config 用法简介当我们写代码时,经常会调用第三方的库。这些第三方的库的安装路径在每台电脑上可能都会不同。所以如果我们把这些库的路径写死,那么别人拿到我们的代码编译时就会遇到各种问题。为了解决这个问题,就有了 pkg-config。这里要多说一句 pkg-config 是个 linux 下的工具,在 windows 下虽然也能用,但是用的人很少。简单的说 pkg-config 维护了一个...
阅读(374) 评论(0)

Qt 5 中解决中文乱码的方法

Qt 5 中解决中文乱码的方法在 Qt 4 的时代,解决中文乱码挺麻烦。要考虑用的是什么编译器,具体的可以参考下面这篇文章: http://blog.csdn.net/brave_heart_lxl/article/details/7186631到了 Qt 5 的年代,这个问题变得简单了些。因为根据 Qt 的文档: http://doc.qt.io/qt-5.6/qstring.html#QSt...
阅读(825) 评论(0)

fedora 25 下安装 haroopad

fedora 25 下安装 haroopadharoopad 是一款免费的 markdown 编辑器,我在 WIN 下一直在用。昨天电脑上装了个 Fedora 25,发现在 Fedora 上安装 haroopad 还挺麻烦。这里记录以下。haroopad 的网址如下:http://pad.haroopress.com/user.html网站上没有 fedora 的安装包,只提供了 tar.gz 格式...
阅读(592) 评论(0)
420条 共21页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:2128749次
    • 积分:22227
    • 等级:
    • 排名:第332名
    • 原创:386篇
    • 转载:17篇
    • 译文:15篇
    • 评论:716条
    博客专栏
    最新评论