ROI取值float转换成int型怎么做?
-
# Single Color RGB565 Blob Tracking Example # # This example shows off single color RGB565 tracking using the OpenMV Cam. import sensor, image, time threshold_index = 0 # 0 for red, 1 for green, 2 for blue # Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max) # The below thresholds track in general red/green/blue things. You may wish to tune them... thresholds = [(100, 37, -40, 127, 12, 127)] # generic_red_thresholds # generic_green_thresholds # generic_blue_thresholds threshold2 = [(30, 47, -39, 19, 20, 42)] sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time = 2000) sensor.set_auto_gain(False) # must be turned off for color tracking sensor.set_auto_whitebal(False) # must be turned off for color tracking clock = time.clock() # Only blobs that with more pixels than "pixel_threshold" and more area than "area_threshold" are # returned by "find_blobs" below. Change "pixels_threshold" and "area_threshold" if you change the # camera resolution. "merge=True" merges all overlapping blobs in the image. def find_max(blobs): max_size=0 for blob in blobs: if blob[2]*blob[3] > max_size: max_blob=blob max_size = blob[2]*blob[3] return max_blob ROI=(0,0,1,1) while(True): clock.tick() img = sensor.snapshot() blobs = img.find_blobs([thresholds[0]], pixels_threshold=800, area_threshold=800, merge=False) if blobs: max_blob = find_max(blobs) print(max_blob.rect()) #img.draw_rectangle(max_blob.rect()) #img.draw_cross(max_blob.cx(), max_blob.cy()) ROI = max_blob.rect() xc = max_blob.cx() yc = max_blob.cy() x = max_blob.x() y = max_blob.y() xn = xc-(xc-x)*8/10 int(xn) yn = yc-(yc-y)*8/10 int(yn) wn = (xc-xn)*2 int(wn) hn = (yc-yn)*2 int(hn) ROI = (xn, yn, wn, hn) img.binary(thresholds) img.dilate(2, threshold = 10) statistics=img.get_statistics(roi=ROI) avg = statistics.mean() print(avg) print(clock.fps())
-
int(1.3)
结果:1
-
我想把xn,yn变成Int型怎么做?我试了一下int(xn)得到的还是浮点数
-
浮点数=1.3
整数=int(浮点数)
print(整数)