php去水印算法-利用ffmpeg

1. 方法依赖ffmpeg
2. 擦掉的水印,会有擦出的痕迹,目前无法做到完美修复
3. 代码中注释,提供了擦掉右上角和右下角的代码备注,朋友们可以自己修改。

$dir = "/
java-er.com/www/test2/";
 
CLEAR_ICO($dir.'3.png',$dir.'3.3.png',169,40);
 
 
 
// $filename = ;//读取图片名
	// $savename = ;//保存图片路径
	// $Clear_W  = ;//去除水印宽
	// $Clear_H  = 30;//去除水印高
	// $Clear_X  = 254;//去除水X位置
	// $Clear_Y  = 393;//去除水Y位置;
function CLEAR_ICO($filename,$savename,$Clear_W,$Clear_H){
	$file_WH = getimagesize($filename); 
	$IMG_W = $file_WH[0];
	$IMG_H = $file_WH[1];
	$Clear_X = $IMG_W - $Clear_W -1; //决定左边还是右边
	$Clear_Y = 1; // 设置为1表示擦掉右上角的图片
	$Clear_Y = $IMG_H - $Clear_H - 2;// 擦掉右下角的图片
 
	echo $IMG_W.".".$IMG_H."----";
	echo $Clear_X.".".$Clear_Y;
 
	if ($IMG_W<=($Clear_W+$Clear_X+1) && $IMG_H<=($Clear_H+$Clear_Y+1)) { 
		echo "False";
		return false;
	}
	$info = `ffmpeg -y -i {$filename} -strict -2 -vf delogo=x={$Clear_X}:y={$Clear_Y}:w={$Clear_W}:h={$Clear_H}:show=0 {$savename}`;
	if ($info)
		return system("ffmpeg -i {$filename} -strict -2 -vf delogo=x={$Clear_X}:y={$Clear_Y}:w={$Clear_W}:h={$Clear_H}:show=0 {$savename}");
 
	return $info;
}

效果图

水印原图

哈哈,我的wordpress自动加了水印这个很尴尬啊

大家看对比图


This entry was posted in PHP and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/php-ffmpeg-delogo/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.
2020.03.24 评论已经全局关闭,有事加QQ聊天