0
텐서 흐름을 사용하는 슬라이딩 윈도우 코드를 실행 중입니다.이미지 주문 텐서 흐름
그것은 Theano를위한 것입니다. 그래서 이미지 치수 순서 오류가 발생합니다.
누군가는 텐서 흐름을 위해 그것을 수정하는 방법을 말해 줄 수 있습니까?
에러 :
에 ValueError : 검사 오류 : 예상 INPUT_2하는 형상을 갖도록 (없음, 224, 224, 3) 그러나 형상 어레이 (1, 3, 224, 224)를 가지고
image=load_img('\e.jpg')
image= np.array(image).reshape((3264,5896,3))
image = image.astype('float32')
image /= 255
plt.imshow(image)
print(image.shape)
#%%SLIDING WINDOW
''
def find_a_object(image, step=224, window_sizes=[224]):
boxCrack = 0
locations = []
for win_size in window_sizes:
#top = Y, left = X
for Y in range(0, image.shape[0] - win_size + 1, step):
for X in range(0, image.shape[1] - win_size + 1, step):
# compute the (top, left, bottom, right) of the bounding box
box = (Y, X, Y + win_size, X + win_size)
#crop original image
cropped_img = image[box[0]:box[2], box[1]:box[3]]
#reshape cropped image by window
cropped_img = np.array(cropped_img).reshape((1,3,224,224))
boxCrack = predict_function(cropped_img)
if boxCrack ==0:
#print('box classified as crack')
#save location of it
locations.append(box)
print("found")
return locations
#%%FUNCTIONS
def predict_function(x):
result = model.predict_classes(x)
if result==0:
return 0
else:
return 1
##SHOW CROPPED IMAGE
#def show_image(im):
# plt.imshow(im.reshape((100,100,3)))
)
#DRAW BOXES FROM LOCATIONS when classified
def draw_boxes(image, locations):
fix,ax = plt.subplots(1)
ax.imshow(image)
for l in locations:
print (l)
rectR = patches.Rectangle((l[1],l[0]),224,224,linewidth=1,edgecolor='R',facecolor='none'
ax.add_patch(rectR)
#%%get locations from image
locations = find_a_object(image)
draw_boxes(image,locations)
답장을 보내 주셔서 감사합니다. 이제 다음 오류가 발생합니다 : ValueError : 둘 이상의 요소가있는 배열의 진리 값이 모호합니다. a.any() 또는 a.all()을 사용하십시오 어떻게 해결할 수 있을까요? –
어떤 줄에서 오류가 발생합니까? –
locations = find_a_object (이미지). 그 행을 실행하면 오류가 발생합니다. –