2019独角兽企业重金招聘Python工程师标准>>>

<!-- lang: cpp -->
///

//Parameters:
// pImg: input image
// flags: IMAGECAMEO_0 : sign sculputre in image processing
// IMAGECAMEO_1 : sign engrave in image processing
///
IplImage *ImageEffect::ImageCameo(IplImage pImg, int flags)
{
if(!pImg){
printf("Errror: Load File in ImageCameo(.).\n");
exit(EXIT_FAILURE);
}
nWidth = pImg->width;
nHeight = pImg->height;
pImgdata =(uchar
) pImg->imageData;
pImgChannels = pImg->nChannels;

step = pImg->widthStep;
int temp0,temp1,temp2;

for(int i =0; i<nWidth-1; i++){
for( int j =0; j<nHeight-1;j++){
if(pImgChannels ==1){ // gray image
if(flags ==IMAGECAMEO_0){ //sculputre processing
temp0 = pImgdata[(j+1)step+(i+1)pImgChannels]-
pImgdata[jstep+ipImgChannels]+128;
}
if(flags ==IMAGECAMEO_1){ //engrave processing
temp0 = pImgdata[jstep+ipImgChannels]-
pImgdata[(j+1)step+(i+1)pImgChannels] +128;
}
if(temp0>255) pImgdata[jstep+ipImgChannels] = 255;
if(temp0<0) pImgdata[jstep+ipImgChannels] = 0;
else pImgdata[jstep+ipImgChannels] = temp0;
}
if(pImgChannels ==3){ // color image
if(flags == IMAGECAMEO_0){ //sculputre processing
temp0 = pImgdata[(j+1)step+(i+1)pImgChannels]-
pImgdata[jstep+ipImgChannels] +128;
temp1 = pImgdata[(j+1)step+(i+1)pImgChannels+1]-
pImgdata[jstep+ipImgChannels+1] +128;
temp2 = pImgdata[(j+1)step+(i+1)pImgChannels+2]-
pImgdata[jstep+ipImgChannels+2] +128;
}
if(flags == IMAGECAMEO_1){ //engrave processing
temp0 = pImgdata[jstep+ipImgChannels]-
pImgdata[(j+1)step+(i+1)pImgChannels]+128;
temp1 = pImgdata[jstep+ipImgChannels+1]-
pImgdata[(j+1)step+(i+1)pImgChannels+1]+128;
temp2 = pImgdata[jstep+ipImgChannels+2]-
pImgdata[(j+1)*step+(i+1)*pImgChannels+2]+128;
}

     if(temp0>255) pImgdata[j*step+i*pImgChannels] = 255;  if(temp0<0)   pImgdata[j*step+i*pImgChannels] = 0;  else          pImgdata[j*step+i*pImgChannels] = temp0;  if(temp1>255) pImgdata[j*step+i*pImgChannels+1] = 255;  if(temp1<0)   pImgdata[j*step+i*pImgChannels+1] = 0;  else          pImgdata[j*step+i*pImgChannels+1] = temp1;  if(temp2>255) pImgdata[j*step+i*pImgChannels+2] = 255;  if(temp2<0)   pImgdata[j*step+i*pImgChannels+2] = 0;  else          pImgdata[j*step+i*pImgChannels+2] = temp2;  }  }

}
return pImg;
}

转载于:https://my.oschina.net/u/733649/blog/223503

图像特效之浮雕与雕刻相关推荐

  1. 实现图像特效之浮雕与雕刻

    引言 图像处理软件中,如PhotoShop,免费开源的位图形编辑GIMP软件中,对图像进行特效的浮雕或雕刻功能.本节介绍使用OpenCV实现图像特效之浮雕和雕刻相关知识,并贴出相关参考代码以及输出测试 ...

  2. 图像处理软件开发记录(六) 图像特效(浮雕、怀旧)

    专栏地址:http://blog.csdn.net/column/details/imagep.html 本篇文章主要记录一下图像处理软件中的图像特效(浮雕.怀旧)的实现过程. 图像浮雕效果 浮雕的算 ...

  3. 图像滤镜特效(反色、浮雕、雕刻、怀旧、冰冻、暗调)(一)

    对图像进行滤镜(PS中的叫法)特效处理完全是导师的要求,现把工作整理出来(效果图见最后). 一.反色特效 反色特效原理比较简单,就是分别把RGB通道的像素值取反即可. 下面是反色特效VC++程序: & ...

  4. [Python图像处理] 二十四.图像特效处理之毛玻璃、浮雕和油漆特效

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  5. 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

    摘要:本文讲解常见的图像特效处理,从而让读者实现各种各样的图像特殊效果,并通过Python和OpenCV实现. 本文分享自华为云社区<[Python图像处理] 二十四.图像特效处理之毛玻璃.浮雕 ...

  6. C++ OpenCV图像特效处理(剪影/怀旧/浮雕/国画/彩虹/素描特效)

    C++ OpenCV图像特效处理(绿幕抠图/剪影/怀旧/浮雕/国画/彩虹/素描特效等)支持定制,Q: 3252314061

  7. [Python图像处理] 二十五.图像特效处理之素描、怀旧、光照、流年以及滤镜特效

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  8. 浮雕,雕刻,木刻,灯光,油画滤镜的原理及实现 opencv+vs

    </pre>下面将详细介绍 浮雕,雕刻,木刻,灯光,油画滤镜的原理及实现<p></p><p></p><p></p>& ...

  9. C#Opencvsharp4实现几种图像特效

    环境配置:VS2019. Winform.Opencvsharp4 4.5.5.20211231 . .Net Framework 4.8 实验原图: 1.毛玻璃特效 . 原理: 用该像素点领域内的随 ...

最新文章

  1. 为什么 CPU 访问硬盘很慢
  2. codeforces 337D:树形dp[能到最远的一定可以到其他点]
  3. Google是否会成为下一个微软?
  4. Java线上应用故障排查之一:高CPU占用
  5. python自动化开发例子_Python自动化开发从浅入深-语言基础(常用模块)
  6. matlab中数据变为nan,字符转化为数值型中出现NAN
  7. 微信小程序动态点赞php,在微信小程序中如何实现点赞功能
  8. 中国“两高”发布司法解释 依法严惩涉地下钱庄犯罪
  9. js中将html文档写入静态界面当中
  10. 现在有些公众号我真的看不惯
  11. HTML+CSS静态页面`西安旅游网站设计——西安旅游(7页) 大学生旅游网页作品 出行网页设计作业模板 学生游玩网页制作源代码下载
  12. U2000V1R2安装部署工作日报
  13. 寄存器以及偏移地址计算方法
  14. 软件测试周刊(第63期):凡是持久的,必是温和的与可持续的。
  15. 配置 Tapestry
  16. 充电器电压和电池电压关系
  17. TP-LINK TL-WDN6200在Ubuntu 1804下使用
  18. linux终端同步文件目录,文件和目录比较工具?
  19. 阿里P8架构师谈(1):双11秒杀系统如何设计
  20. 【Spark2运算效率】第四节 影响生产集群运算效率的原因之数据倾斜

热门文章

  1. IT凭什么拿高薪?!
  2. 最详细的equals和hashcode详解
  3. VMware workstation和ESXi的区别
  4. UDP套接字编程以及提高UDP可靠性的方法
  5. linux fsck命令,Linux中fsck命令起什么作用呢?
  6. mysql的number类型对应的db2_【转】oracle数据库NUMBER数据类型
  7. 大数据开发和数据分析的区别
  8. SSM框架搭建过程----学生学籍管理系统
  9. 经济师计算机考试取消,2019年经济师考试计算机机考答题要求及说明
  10. 邀请合作如何表达_共商校院合作,共促产教融合,市卫校这个会议不一般!