利用opencv进行图像分割后出现空数组的现象
问题相关代码,请勿粘贴截图
分割后宽=300
分割后高=300
原图位置="E:\pyimg\whgeoimg\png\\"
新图位置="E:\pyimg\whgeoimg\pngseg\\"+str(分割后宽)+'x'+str(分割后高)+'\image\\'
if not os.path.exists(新图位置):
os.makedirs(新图位置)
for 图片名称 in os.listdir(原图位置):
图片=cv2.imread(原图位置+图片名称)
原图尺寸=图片.shape[:2]
高上总数=int(原图尺寸[0]/分割后高)+1
宽上总数=int(原图尺寸[1]/分割后宽)+1
新图高=高上总数*分割后高
新图宽=宽上总数*分割后宽
高上像素=新图高-原图尺寸[0]
宽上像素=新图宽-原图尺寸[1]
顶,底=高上像素//2,高上像素-(高上像素//2)
左,右=宽上像素//2,宽上像素-(宽上像素//2)
新图片=cv2.copyMakeBorder(图片,顶,底,左,右,cv2.BORDER_CONSTANT,(0,0,0))
for i in range(高上总数):
for j in range(宽上总数):
X=int(i * 分割后高)
Y=int(j * 分割后宽)
print(X,Y)
新图片=新图片[X : X + 分割后高,Y : Y + 分割后宽]
print('新图片的shape是:',np.shape(新图片))
新图片名称=图片名称.split('.')[0] + '-' + str(i) +'-'+ str(j) +".png"
# cv2.imwrite(新图位置+新图片名称,新图片)
运行结果及报错内容 :
0 300
[]
0 600
[]
0 900
[]
0 1200
[]
0 1500
[]