作者:mobiledu2502869467 | 来源:互联网 | 2023-09-12 07:59
PhotoShop算法实现高级篇--连环画(三十四)
kezunhai@gmail.com
http://blog.csdn.net/kezunhai
连环画(Comic)对于每一个经过孩童时代的我们来说都不陌生,点着蜡烛、打着手电躲在被窝里看杨家将、隋唐演义的场景还历历在目。通过Photoshop也可以实现连环画的效果。
连环画的核心算法如下图所示(算法来自:图像编程精髓:从开发自己的Photoshop开始):
// 连环画
void PhotoShop::Comic(Mat& img, Mat &dst)
{
if ( dst.empty())
dst.create(img.rows, img.cols, img.type());
int height = img.rows;
int width = img.cols;
int chns = img.channels();
int border = 1;
int i, j, k;
uchar R, G, B;
for ( i=border; i {
unsigned char* srcData = (unsigned char*)img.data + img.step*i;
unsigned char* dstData = (unsigned char*)dst.data + dst.step*i;
for ( j=border; j {
R = srcData[j*chns];
G = srcData[j*chns+1];
B = srcData[j*chns+2];
dstData[j*chns] = saturate_cast(abs(G-B+G+R)*R/256+0.5);
dstData[j*chns+1] = saturate_cast(abs(B-G+B+R)*R/256+0.5);
dstData[j*chns+2] = saturate_cast(abs(B-G+B+R)*G/256+0.5);
}
}
}
处理图像1:
图像2:
图像3:
看了上面的几张图片,是不是有点失望,以上算法与实际的连环画的效果还是有很大的距离的。如果要真的用算法来实现连环画的效果,需要对用PS来制作连环画的过程进行仔细的分析,逐步解析其算法过程。PS制作连环画的教程可以参考:用photoshop将照片改为连环画效果。
作者:kezunhai 出处:http://blog.csdn.net/kezunhai 欢迎转载或分享,但请务必声明文章出处。