作者art1 (人,原来不是人)
看板Python
标题[问题] 如何缩小图片尺寸以移除图片空白的部份
时间Sun Nov 22 14:52:10 2020
一开始以为 cv2.findContours 可以达成我的需求,实际用过後才知道不是
目前已经可以做到把图片有图案的部份跟背景完全分开,达到类似套用遮罩的效果
但想要更进一步缩小这个遮罩的尺寸,以便让遮罩相当於一个最小的矩型框框住有图案
的部份
想做这个是因为 skimage.draw 的 random_shapes 函式所产生的随机形状数量如果过少
,会出现很大的空白区域,因此希望用一个最小的矩型框把这些随机图案全部框起来
直觉上用回圈沿着长跟宽方向找有非零值出现的最大与最小索引值就能达成我的需求
,但想知道有没有比较优雅的解决方案,例如使用 numpy 的内建函式就能达成呢?
--
「看在上帝的份上,我们不能当着孩子的面枪杀他的父亲!」
「那我们就连孩子一起干掉!」
「第一枪打中的是那个天真的孩子,第二枪是抱着孩子的母亲。第三枪
停顿了三秒,当难以致信的父亲擦拭着脸上爱子的脑浆从震惊中醒转
过来,慢慢的转头看向停车的地方,分辨出是谁在攻击他後,第三颗
子弹才将他的脑壳打飞。」 ─摘自〈狼群〉
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.173.15.36 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1606027933.A.FFE.html
1F:推 martin7887: +1我也想知道,之前也是用内文提到的方式, 11/22 15:46
2F:→ hsnuyi: 用一个function解决=优雅? 这定义还真悲剧 11/22 18:00
3F:→ art1: numpy 的内建函式不是运算比较快吗?而且听说最好不要用回圈 11/22 19:09
4F:→ art1: 取用 numpy 阵列的值 11/22 19:09
5F:→ OrzOGC: 没现成函式可用的话就硬干吧 11/22 19:40
6F:→ Hsins: numpy.array 取值应该没什麽影响, 但 list.append() 会比 11/22 22:33
7F:→ Hsins: array.append() 要快... 11/22 22:33
8F:→ Hsins: 所以你要硬干的话, 最好可以先取出存 list 之後,全部搞定 11/22 22:35
9F:→ Hsins: 再存成 array 11/22 22:35