2019-09-05-不规则裁切图片-斜切割-边线切割-漫画切割构想

python实现的方法

一、当前采用的方法


(推荐看)使用方法:

需要用到的代码

https://github.com/ultrapre/Py3_mytool/blob/master/ImageSolve/%E6%89%B9%E9%87%8F%E5%A4%A7%E8%A3%81%E5%89%AA-%E9%A3%8E%E4%B9%8B%E8%B0%B7-%E8%BE%93%E5%85%A5.py

https://github.com/ultrapre/Py3_mytool/blob/master/ImageSolve/%E4%B8%8D%E8%A7%84%E5%88%99%E8%A3%81%E5%89%AA-%E6%A8%A1%E5%9D%97%E5%8C%96.py

https://github.com/ultrapre/Py3_mytool/blob/master/ImageSolve/%E6%89%B9%E9%87%8F%E5%A4%A7%E8%A3%81%E5%89%AA-%E9%A3%8E%E4%B9%8B%E8%B0%B7-%E8%BE%93%E5%87%BA.py

(1)要切割之前先要对下面这种竖的图像进行横向变化,由于漫画的高度统一为2048px,所以批量大裁剪-风之谷-输入.py 里面要设置成3824*2048,这样才能保持清晰度。

具体方法就是直接运行批量大裁剪-风之谷-输入.py。可以修改其输入输出文件夹为indir = “E:/source”和outputdir = “E:/output”,递归遍历文件。

1567836356033

处理完之后就变成这样。为什么?方便适应cv2的图片显示imshow的宽窗口

1567836381566

(2)接下来就是真正切割。代码不规则裁剪-模块化.py

输入输出文件夹:

1
2
indir = "E:/output"
outdir = "E:/finish"

代码运行之后,显示这样一个窗口,

1567836764936

鼠标单击顺序如下:可以绕顺时针逆时针都可以,点击四次之后,然后程序会自动生成裁剪后的图片。

1567836802759

接下来继续点击切割之后的所有漫画框边角。同样,点击次数是四次。

1567836898072

点击完所有之后,关闭此窗口,程序会自动开启下一张图片的窗口,继续处理直到所有图片遍历完成。

注意事项:

不要照这样的方法点击!

1567693764801

否则会生成这样的错误图片:

1567837208064

另外,没有撤销功能,如果手抖点错了,那就到文件夹下删掉错误的图片再继续点击吧。

(3)规整化成1920*1080大小的图片

输入输出文件夹:

1
2
indir = "E:/finish"
outputdir = "E:/get"

将以下图片

1567837362519

生成

1567837400714

注意:上面的白点其实是透明化处理的bug,不过放到黑底下就会被掩盖。代码经过改进,目前已没有白点问题。

使用教程完毕。


(深入研究建议看)代码参考:

https://blog.csdn.net/jacke121/article/details/80441549

(1)方法一:手动点击四点生成四边形切割的图片

正确数组:

1
b  = np.array([[42,94],  [42,321],[387,324], [382,100]], dtype = np.int32)

闭合回路:

1567693715585

对应结果:

1567693834907

错误代码:

1
b  = np.array([[42,94],  [42,321], [382,100],[387,324]], dtype = np.int32)

对应回路:

1567693764801

对应结果:

1567693584030

(2)切割完成的方法

存储边线问题:

二重处理:

根据存储的二维数组进行矩形切割!<容易补充:四点确定最小的外套矩形>

1567699722448

这样就批量处理完成。



二、未完成的思路:自动化识别

自动化带来的问题:

顺序确定比快速点击还麻烦

先把某种颜色填充到外围,

透明化

自动获取PNG不透明区域并且分隔存储。

缺点:中间色太多,杂料多