
C++ GDI+
文章平均质量分 88
aijie099
从事单片机 嵌入式 软件开发多年。
展开
-
OpenCV高斯滤波GaussianBlur
OpenCV高斯滤波GaussianBlur原创godadream 最后发布于2018-08-10 20:57:10 阅读数 13694 收藏展开图像处理中,常用的滤波算法有均值滤波、中值滤波以及高斯滤波等。三种滤波器的对比滤波器种类 基本原理 特点均值滤波 使用模板内所有像素的平均值代替模板中心像素灰度值 易收到噪声的干扰,不能完全消除噪声,只能相对减弱噪...转载 2020-03-05 15:12:38 · 484 阅读 · 0 评论 -
opencv(一)旋转,镜像
Mat rot_img(Mat src, int idx) { //旋转90度 if (idx == 1) { transpose(src, src); flip(src, src, 1); return src; } //旋转180度 else if (idx == 2) { flip(src...转载 2020-02-21 15:44:42 · 192 阅读 · 0 评论 -
opencv滤镜-PS羽化特效
羽化特效羽化是ps术语,羽化原理是令选区内外衔接部分虚化,起到渐变的作用从而达到自然衔接的效果,是ps及其其它版本中的处理图片的重要工具。羽化可使像素选区的边缘变得模糊,有助于所选区域与周围的像素混合.图 1:原图实现原理羽化值越大,朦胧范围越宽,羽化值越小,朦胧范围越窄。可根据你想留下图的大小来调节。算法分析:1、通过对rgb值增加额外的V值实现朦胧效果 2、通过控制...转载 2020-02-21 01:04:13 · 1006 阅读 · 0 评论 -
opencv滤镜-浮雕雕刻特效
浮雕和雕刻浮雕浮雕的算法为,用当前像素点的前一个像素点灰度值减去后一个像素点的灰度值,所得结果加上128作为当前像素点的灰度值。原理的公式为current(i, j) = current(j+1, j+1) - current(i-1, j-1)用卷积的运算也可以表达为用以下的卷积核与图像做卷积运算 [1 0 0; 0 0 0; 0 0 -1 ]...转载 2020-02-21 01:03:24 · 596 阅读 · 0 评论 -
opencv滤镜-素描
素描将彩色图片转换成素描的方法有多种,本文采用的是模拟ps彩色图片转为素描图片打印的过程。算法的原理流程如下:1、去色; 2、复制去色图层,并且反色;关于反色可以参考芒果额另一篇文章opencv滤镜-反向滤镜; 3、对反色图像进行高斯模糊; 4、模糊后的图像叠加模式选择颜色减淡效果。减淡公式:C =MINA+(A×B)/(255−B),255A+(A×B)/(255−B),255...转载 2020-02-21 01:02:24 · 420 阅读 · 0 评论 -
opencv滤镜-连环画滤镜
连环画滤镜连环画滤镜的公式为:图 1:连环画滤镜公式图 2:原图代码实现// comic-filter.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。// @mango#include<iostream>#include<cmath>#include<opencv2/opencv.hpp>int ...转载 2020-02-19 16:29:57 · 395 阅读 · 0 评论 -
opencv滤镜-冰冻滤镜
冰冻滤镜通过以下公式,对图像rgb三个分量进行调整,可以到达冰冻的滤镜特效。图 1:冰冻滤镜公式图 2:原图代码实现// frozen-filter.cpp : 冰冻滤镜// @mango#include<iostream>#include<cmath>#include<opencv2/opencv.hpp>int main(...转载 2020-02-19 16:29:04 · 428 阅读 · 0 评论 -
opencv滤镜-熔铸滤镜
熔铸滤镜与怀旧滤镜类似,通过对图像rgb三个分量的调整变化,可以得到熔铸滤镜的效果。以下是调整的公式:图 1:熔铸滤镜公式图 2:原图代码实现// casting-filter.cpp : 熔铸滤镜// @mango#include<iostream>#include<opencv2/opencv.hpp>int main(){ ...转载 2020-02-19 16:27:06 · 326 阅读 · 1 评论 -
opencv滤镜-怀旧滤镜
怀旧滤镜通过对rgb三个颜色分量的调整可以将照片处理成一种老照片的怀旧风格。调整的公式如下图 1:怀旧滤镜公式图 2:原图代码实现// vintage-filter.cpp : 怀旧滤镜// @mango#include <iostream>#include<opencv2/opencv.hpp>int main(){ cv...转载 2020-02-19 16:26:00 · 793 阅读 · 0 评论 -
opencv滤镜-单色滤镜
单色滤镜单色滤镜的原理非常简单,rgb图像有三个颜色分量,单色滤镜只需要将其中两个分量的值设置为0,保留的颜色分量不修改即可。图 1:原图代码实现// single-color-filter.cpp // @mango#include <iostream>#include<opencv2/opencv.hpp>int main(){ ...转载 2020-02-19 14:20:51 · 874 阅读 · 0 评论 -
opencv滤镜-反向滤镜
反向滤镜一般的rgb图像由红色r、绿色g和蓝色b三个颜色分量构成,三个分量的数值一般为8位二进制数,数值范围在0,2550,255。所以,将用255减去分量的数值所得的结果替换原来分量的数值称为色彩反向。例如一张图像中某个像素点的r分量数值为2,反向后为255 - 2 = 253,即在0,2550,255区间中对调位置、反向了。图 1:原图代码实现 // r...转载 2020-02-19 14:17:37 · 709 阅读 · 0 评论 -
opencv滤镜-二值化实现黑白滤镜
黑白滤镜黑白滤镜非常简单,顾名思义就是图像只有黑色与白色,这实际上就是图像的二值化。实现的原理也非常地简单,设定一个阈值,假设为128,判断每个像素点的灰度值,大于128设为255(对应白色),小于则设为0(对应黑色)。图 1:原图代码实现// black and white filter//@mango#include<iostream>#include&l...转载 2020-02-19 14:13:26 · 1376 阅读 · 0 评论 -
opencv滤镜-图像灰度化
灰度图像灰度化,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。图像的灰度化一般作为图像的预处理步骤,为之后更复杂的图像处理做准备。另一方面,将图像灰度化也可以作为一个简常见的滤镜效果。灰度化方法一般将图像灰度化由分量法、最大值法、平均值发以及加权平均法4...转载 2020-02-19 14:09:44 · 917 阅读 · 0 评论 -
OpenCV笔记一:imread函数
imread函数imread函数作用imread函数的作用非常简单,从函数的名称也可以看出来,imread为image read的缩写,即图像读取的意思,。那么imread函数的作用就很明显了,负责读取图像。其实学过matlab的同学就会知道,matlab中也有一个读取图像的函数也命名为imread,这是opencv借鉴了matlab而命名的,因为在opencv1.x时代,加载图像的函数并...转载 2020-02-19 14:01:56 · 7948 阅读 · 0 评论 -
GDI函数 StretchDIBits,StretchBlt 缩小图片会有黑点的问题解决办法
StretchDIBits, StretchBlt 缩小图片会有多余的像素,对多余像率的处理有三种方式。1.不处理 ,会有黑点。2.用SetStretchBltMode 函数 来设置为 COLORONCOLOR 直接丢弃。3.用SetStretchBltMode 函数 来设置为HALFTONE 优化处理。会增加运算时间。...原创 2019-12-02 16:28:07 · 757 阅读 · 1 评论 -
初始化GDI+
初始化GDI+找个地方(程序开始)加上UINT_PTR uiToken = 0;GdiplusStartupInput input;GdiplusStartup(&m_uiToken, &input, nullptr);再找个地方(程序结束)加上GdiplusShutdown(uiToken);//////////////////////////////////原创 2017-08-10 12:02:33 · 321 阅读 · 1 评论 -
MFC,基于单文档的构架,初始化时隐藏主窗口发生闪烁如何解决
1) 在应用程序构造函数CxxxApp::CxxxApp(){}中添加代码:EnableLoadWindowPlacement(FALSE);2) 应用程序初始化CETSPApp::InitInstance()中设置:m_pMainWnd->ShowWindow(SW_SHOW);替换为m_pMainWnd->ShowWindow(SW_HIDE);3) 重载CMainFrame的转载 2017-06-27 11:31:26 · 675 阅读 · 0 评论 -
GDI+实现各种图像特效
//图像反色处理Color color,colorTemp; int red,green,blue,x,y; for(int x=0;x { for(int y=0;y { image.GetPixel(x,y,&color); red转载 2017-03-20 10:12:56 · 1026 阅读 · 0 评论