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

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<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:


图像2:


图像3:


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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值