使用skimage库,我必须像这样将图像居中。我找到了应该接受偏移量的SimilarityTransform
,但是缺少文档。我该如何检测这些图像的角点,然后确定如何将其居中?
数组总是存在于28x28个映像之外。有些图像中有噪声,比如这里的第二个图像代表四。我不小心抓到了两张非常集中的图像,但它们可能在阵列中的任何地方。
在底部你也可以看到更多的视觉表现4。在
[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 203 229 32 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 47 47 30 95 254 215 13 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 45 154 185 185 223 253 253 133 175 255 188 19 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 110 253 253 253 246 161 228 253 253 254 92 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 128 245 253 158 137 21 0 48 233 253 233 8 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 139 254 223 25 0 0 36 170 254 244 106 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 55 212 253 161 11 26 178 253 236 113 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 7 155 253 228 80 223 253 253 109 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 141 253 253 253 254 253 154 29 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 110 253 253 253 254 179 38 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 3 171 254 254 254 179 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 171 253 253 253 253 178 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 26 123 254 253 203 156 253 200 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 93 253 254 121 13 93 253 158 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 64 239 253 76 8 32 219 253 126 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 133 254 191 0 5 108 234 254 106 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 132 253 190 5 85 253 236 154 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 153 253 169 192 253 253 77 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 112 253 253 254 236 129 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 17 118 243 191 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]
[[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 164 252 63 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 23 34 0 244 254 112 0 0 0 0 85 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 4 190 225 0 255 185 13 0 0 0 0 95 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 6 170 254 197 64 254 59 0 0 0 0 0 95 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 9 132 254 204 23 112 254 28 0 0 0 0 0 77 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 6 167 254 216 58 24 242 225 16 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 76 254 254 162 85 138 254 188 0 0 0 48 85 25 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 3 159 254 254 254 254 254 228 151 151 214 250 254 75 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 7 79 131 158 254 254 226 225 225 225 190 148 39 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 127 254 148 0 0 0 0 0 0 0 71 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 23 248 201 0 0 0 0 0 0 0 0 36 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 85 254 118 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 12 189 227 22 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 114 254 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 44 226 175 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 148 203 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 26 242 140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 131 169 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 19 233 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 174 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]
解决方案代码: 由@anmol\u uppal提供的代码略有更改。在
^{pr2}$
所以问题的第一部分是找到包含图像的边界框,第二部分涉及图像的居中,因为第二部分我们将为边界框的每个顶点添加填充。在
第1部分:
为了绘制一个边界框,我们可以遍历每一行并找到一个包含1个或多个非零元素的行,通过从上到下两个步骤,我们将得到}的限制一样,Numpy提供了一些很棒的函数,比如^{} ,我们将使用此函数检查行/列是否有任何非零字符,在这种情况下,
Y-axis
的限制,与我们对{sum > 0
:设(x1,y1)为左上角坐标,(x2,y2)为右下角坐标,这两点足以定义边界框。在
^{pr2}$第二部分:
现在我们必须将图像居中,而不是计算每边所需的填充,而是将图像裁剪成边界框的形状,然后将相等的填充应用到每一侧。在
相关问题 更多 >
编程相关推荐