PhotoShop算法实现高级篇--连环画(三十四)

PhotoShop算法实现高级篇--连环画(三十四)

[email protected]

http://blog.csdn.net/kezunhai

           连环画(Comic)对于每一个经过孩童时代的我们来说都不陌生,点着蜡烛、打着手电躲在被窝里看杨家将、隋唐演义的场景还历历在目。通过Photoshop也可以实现连环画的效果。 连环画的核心算法如下图所示(算法来自:图像编程精髓:从开发自己的Photoshop开始):

PhotoShop算法实现高级篇--连环画(三十四)_第1张图片

// 连环画
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<height-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<width-border; j++)
		{				
			R = srcData[j*chns];
			G = srcData[j*chns+1];
			B = srcData[j*chns+2];

			dstData[j*chns] = saturate_cast<uchar>(abs(G-B+G+R)*R/256+0.5);
			dstData[j*chns+1] = saturate_cast<uchar>(abs(B-G+B+R)*R/256+0.5);
			dstData[j*chns+2] = saturate_cast<uchar>(abs(B-G+B+R)*G/256+0.5);
		}
	}	
}
处理图像1:

PhotoShop算法实现高级篇--连环画(三十四)_第2张图片
图像2:


图像3:


看了上面的几张图片,是不是有点失望,以上算法与实际的连环画的效果还是有很大的距离的。如果要真的用算法来实现连环画的效果,需要对用PS来制作连环画的过程进行仔细的分析,逐步解析其算法过程。PS制作连环画的教程可以参考:用photoshop将照片改为连环画效果。

作者:kezunhai 出处:http://blog.csdn.net/kezunhai 欢迎转载或分享,但请务必声明文章出处。


你可能感兴趣的:(连环画,PhotoShop算法)