我正在尝试用Python创建一个对象检测程序。输出应该是被分析图片的文件名,加上"标准化坐标"对象中心。
每张图片应按如下方式标准化:
左上角=(0,0),左下角=(0,1),右上角=(1,0),右下角=(1,1)
有关如何规范化每张图片坐标的建议或建议?
答案 0 :(得分:0)
这个简单的功能可以完成工作:
def normalize_coordinates(row_i, col_j, img):
num_rows, num_cols = img.shape[:2]
x = col_j/(num_cols - 1.)
y = row_i/(num_rows - 1.)
return x, y
<强>演示强>
from skimage import io
from numpy import random
random.seed(42)
img = io.imread('https://i.stack.imgur.com/94l13.jpg')
row_i = random.randint(0, img.shape[0])
col_j = random.randint(0, img.shape[1])
x, y = normalize_coordinates(row_i, col_j, img)
print 'row = %d, column = %d >>> x = %.2f, y = %.2f' % (row_i, col_j, x, y)
输出:
row = 102, column = 435 >>> x = 0.71, y = 0.25