经常有一些时候,我们对纸质文件进行拍照,但是照片上不仅是文件内容,还会附带一些背景。假如我们要是把图片发送给别人,其实是不想把后面的地板图案发过去。但是如果要去掉这些背景也是非常费时费力的。最近开发一个专门剪裁边缘的小工具,拿出来分享下,大家给看看
1
99long OP aHR0cHM6Ly93d3cuamlhbnNodS5jb20vcC9kZTI0NDFjNjI2ZjQ= 这是图文地址
|
2
pytth 2020-02-28 17:55:33 +08:00
不好用。
|
3
yafoo 2020-02-28 23:36:27 +08:00 via Android
不错,不过有个 app,叫手机扫描仪还是啥的,就是专干这事的
|
4
plair 2020-02-29 21:18:52 +08:00
扫描宝直接裁
|
5
faketemp 2020-03-02 21:51:56 +08:00
@99long 支持原创
不过测试第一张图片就报错,反馈一下 ``` ************** 异常文本 ************** Emgu.CV.Util.CvException: OpenCV: scn == 3 || scn == 4 在 Emgu.CV.CvInvoke.CvErrorHandler(Int32 status, IntPtr funcName, IntPtr errMsg, IntPtr fileName, Int32 line, IntPtr userData) 在 Emgu.CV.CvInvoke.cveCvtColor(IntPtr src, IntPtr dst, ColorConversion code, Int32 dstCn) 在 Emgu.CV.CvInvoke.CvtColor(IInputArray src, IOutputArray dst, ColorConversion code, Int32 dstCn) 在 WinImageCom.FormRec.btnEdge_Click(Object sender, EventArgs e) 在 System.Windows.Forms.Control.OnClick(EventArgs e) 在 System.Windows.Forms.Button.OnClick(EventArgs e) 在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 在 System.Windows.Forms.Control.WndProc(Message& m) 在 System.Windows.Forms.ButtonBase.WndProc(Message& m) 在 System.Windows.Forms.Button.WndProc(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ``` 既然是练手作品,有几个改进建议或方向供参考: 1. 倾斜校正。既然处理拍照图像,这个功能是刚需; 2. 畸变校正。手持拍摄很难水平持机,多数图像比如拍摄书本、证件多少都有些梯形畸变的; 3. 添加裁边选项。比如允许设置保留 xx 像素边缘,设置边缘为 xx 色等——毕竟有些东西裁的太贴边像个秃头也不美观; 4. 支持常见图片类型。如 tiff(可能是多页)、png、bmp、jpg、gif 等,只有支持文件类型丰富,功能才能最大化; 5. 多一些测试。至少测试常见图片类型,倾斜、畸变等基本测试覆盖,也可以发出来给大家测试,进步更快; 6. 重新规划 UI。实话实说,这个界面看起来太不走心了…… |