1.实现红色部分变蓝

#include<iostream>

#include<atlimage.h>

using namespace std;

void swapRGWhenGedMax(COLORREF &c)

{

int r = GetRValue(c);

int g = GetGValue(c);

int b = GetBValue(c);

if (r > g && r > b)

{

swap(r, b);

}

c = RGB(r, g, b);

}

int main()

{

const char *srcFilePath = "1a.jpg";

const char *destFilePath = "1b.jpg";

CImage srclmage;

srclmage.Load(srcFilePath);

int width = srclmage.GetWidth();

int height = srclmage.GetHeight();

for (int x = 0; x < width; x++)

{

for (int y = 0; y < height; y++)

{

COLORREF c = srclmage.GetPixel(x, y);

swapRGWhenGedMax(c);

srclmage.SetPixel(x, y, c);

}

}

srclmage.Save(destFilePath);

return 0;

}

2.实现图片反色

#include<iostream>

#include<atlimage.h>

using namespace std;

void swapRGWhenGedMax(COLORREF &c)

{

int r = GetRValue(c);

int g = GetGValue(c);

int b = GetBValue(c);

c = RGB(255 - r, 255 - g, 255 - b);

}

int main()

{

const char *srcFilePath = "2a.jpg";

const char *destFilePath = "2b.jpg";

CImage srclmage;

srclmage.Load(srcFilePath);

int width = srclmage.GetWidth();

int height = srclmage.GetHeight();

for (int x = 0; x < width; x++)

{

for (int y = 0; y < height; y++)

{

COLORREF c = srclmage.GetPixel(x, y);

swapRGWhenGedMax(c);

srclmage.SetPixel(x, y, c);

}

}

srclmage.Save(destFilePath);

return 0;

}

3.提取

#include<iostream>

#include<atlimage.h>

using namespace std;

void swapRGWhenGedMax(COLORREF &c)

{

int r = GetRValue(c);

int g = GetGValue(c);

int b = GetBValue(c);

if (70 < r && r< 99 && b < 30) //防止后期洞的出现,将r调到大于99

{

r = 103;

g = 29;

b = 4;

}

if (r < 99)

{

r = 255;

g = 255;

b = 255;

}

c = RGB(r, g, b);

}

int main()

{

const char *srcFilePath = "3a.jpg";

const char *destFilePath = "3b3.jpg";

CImage srclmage;

srclmage.Load(srcFilePath);

int width = srclmage.GetWidth();

int height = srclmage.GetHeight();

for (int x = 0; x < width; x++)

{

for (int y = 0; y < height; y++)

{

COLORREF c = srclmage.GetPixel(x, y);

swapRGWhenGedMax(c);

srclmage.SetPixel(x, y, c);

}

}

srclmage.Save(destFilePath);

return 0;

}

CImage类进行图像处理1(基础篇)相关推荐

  1. (四)nodejs循序渐进-函数,类和对象(基础篇)

    上一篇文章讲到了基本数据类型和运算符,相信大家都能做简单的运算,本篇文章将讲述函数,类,对象. 函数 在nodejs中,一个函数可以作为另一个函数的参数.我们可以先定义一个函数,然后传递,也可以在传递 ...

  2. CImage类 from http://www.cnblogs.com/afarmer/archive/2012/03/31/2427273.html

    CImage类 Visual C++的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标.位图.光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP. ...

  3. [Python从零到壹] 三十七.图像处理基础篇之图像融合处理和ROI区域绘制

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  4. [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  5. [Python从零到壹] 四十.图像处理基础篇之图像量化处理

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  6. [Python从零到壹] 三十三.图像处理基础篇之什么是图像处理和OpenCV配置

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  7. [Python从零到壹] 三十九.图像处理基础篇之图像几何变换(镜像仿射透视)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  8. [Python从零到壹] 三十六.图像处理基础篇之图像算术与逻辑运算详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. [Python从零到壹] 三十八.图像处理基础篇之图像几何变换(平移缩放旋转)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  10. class括号里的object_Python入门 类class 基础篇

    记住一句话:类是模板,而实例则是根据类创建的对象. 我初学时对类的理解是从类的字面上,可以片面的认为它是一个种类,它是相似特征的抽像,也就是相似的东西,可以把相似特征的事务抽象成一个类.(事务可以是具 ...

最新文章

  1. Openresty使用
  2. firefox和chrome中 JQuery的ajax组件执行差异
  3. nginx系列之三:日志配置
  4. HDU5322 - cdq分治FFT加速dp
  5. gcp devops_将GCP AI平台笔记本用作可重现的数据科学环境
  6. 二十五、MongoDB 索引 和 explain 的使用
  7. 支付宝系统架构(内部架构图)
  8. php webqq登陆,Smart QQ——腾讯新一代网页版 WebQQ,更简洁纯粹的实用在线聊天工具!...
  9. 飞凌小课堂-OK3399-C linux双千兆网口方案-RTL8153
  10. 迅雷如何添加html文件夹,迅雷7上我的收藏怎么找
  11. 论文排版LaTeX学习笔记
  12. Java物流成本计算器
  13. 数据挖掘(数据分析)从业指南
  14. time datetime 总结
  15. C++如何获取虚函数表(vtbl)的内容及虚成员函数指针存放原理
  16. PFC的使用与探索(一)
  17. 2004-10-30 周六
  18. 传奇单机架设超详细图文教程
  19. UE4 第三人称人物 目标偏移(Aim offset)学习笔记
  20. 计算机一级office考试大纲,计算机一级考试MSoffice考试大纲

热门文章

  1. MIPS处理器 CPU数据通路
  2. Microsoft Office 2016 官方中文版
  3. HICE第四天笔记 12月8日
  4. java读取txt文件内容 乱码_java读取txt文件乱码解决方法
  5. MySQL数据库面试题(2022最新版)
  6. GSCOOLINK GSV2006替CH6002 HDMI2.0接口芯片
  7. 自回归模型的两种策略——马尔科夫假设与隐变量自回归模型
  8. 图片保存为YUV格式
  9. opencv设置摄像头分辨率
  10. centos6.5安装ansible和tower