图像特效之浮雕与雕刻
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
图像特效之浮雕与雕刻相关推荐
- 实现图像特效之浮雕与雕刻
引言 图像处理软件中,如PhotoShop,免费开源的位图形编辑GIMP软件中,对图像进行特效的浮雕或雕刻功能.本节介绍使用OpenCV实现图像特效之浮雕和雕刻相关知识,并贴出相关参考代码以及输出测试 ...
- 图像处理软件开发记录(六) 图像特效(浮雕、怀旧)
专栏地址:http://blog.csdn.net/column/details/imagep.html 本篇文章主要记录一下图像处理软件中的图像特效(浮雕.怀旧)的实现过程. 图像浮雕效果 浮雕的算 ...
- 图像滤镜特效(反色、浮雕、雕刻、怀旧、冰冻、暗调)(一)
对图像进行滤镜(PS中的叫法)特效处理完全是导师的要求,现把工作整理出来(效果图见最后). 一.反色特效 反色特效原理比较简单,就是分别把RGB通道的像素值取反即可. 下面是反色特效VC++程序: & ...
- [Python图像处理] 二十四.图像特效处理之毛玻璃、浮雕和油漆特效
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效
摘要:本文讲解常见的图像特效处理,从而让读者实现各种各样的图像特殊效果,并通过Python和OpenCV实现. 本文分享自华为云社区<[Python图像处理] 二十四.图像特效处理之毛玻璃.浮雕 ...
- C++ OpenCV图像特效处理(剪影/怀旧/浮雕/国画/彩虹/素描特效)
C++ OpenCV图像特效处理(绿幕抠图/剪影/怀旧/浮雕/国画/彩虹/素描特效等)支持定制,Q: 3252314061
- [Python图像处理] 二十五.图像特效处理之素描、怀旧、光照、流年以及滤镜特效
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- 浮雕,雕刻,木刻,灯光,油画滤镜的原理及实现 opencv+vs
</pre>下面将详细介绍 浮雕,雕刻,木刻,灯光,油画滤镜的原理及实现<p></p><p></p><p></p>& ...
- C#Opencvsharp4实现几种图像特效
环境配置:VS2019. Winform.Opencvsharp4 4.5.5.20211231 . .Net Framework 4.8 实验原图: 1.毛玻璃特效 . 原理: 用该像素点领域内的随 ...
最新文章
- 为什么 CPU 访问硬盘很慢
- codeforces 337D:树形dp[能到最远的一定可以到其他点]
- Google是否会成为下一个微软?
- Java线上应用故障排查之一:高CPU占用
- python自动化开发例子_Python自动化开发从浅入深-语言基础(常用模块)
- matlab中数据变为nan,字符转化为数值型中出现NAN
- 微信小程序动态点赞php,在微信小程序中如何实现点赞功能
- 中国“两高”发布司法解释 依法严惩涉地下钱庄犯罪
- js中将html文档写入静态界面当中
- 现在有些公众号我真的看不惯
- HTML+CSS静态页面`西安旅游网站设计——西安旅游(7页) 大学生旅游网页作品 出行网页设计作业模板 学生游玩网页制作源代码下载
- U2000V1R2安装部署工作日报
- 寄存器以及偏移地址计算方法
- 软件测试周刊(第63期):凡是持久的,必是温和的与可持续的。
- 配置 Tapestry
- 充电器电压和电池电压关系
- TP-LINK TL-WDN6200在Ubuntu 1804下使用
- linux终端同步文件目录,文件和目录比较工具?
- 阿里P8架构师谈(1):双11秒杀系统如何设计
- 【Spark2运算效率】第四节 影响生产集群运算效率的原因之数据倾斜