gpt4 book ai didi

python - 在 openCV 中如何从 python 中的 opencv_createsamples 生成的矢量文件加载图像?

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:05 26 4
gpt4 key购买 nike

脚本 opencv_createsamples 创建 .vec 文件,其中包含训练级联所需的所有图像。

我想知道是否有办法将图像直接从该文件加载到 python 脚本。

谢谢。

最佳答案

此 python 片段显示了从 .vec 文件中提取图像。该函数可以用 showvec('xxx.vec') 调用。如果 vec 文件中的图像具有其他标准尺寸,则必须仅设置宽度和高度参数。 ( 24 x 24 ) 调整大小参数调整图像大小以便更好地观看。调用此函数时,窗口将在按下一个键时一个接一个地显示图像。 esc 键将打破循环。它演示了使用 python 从 .vec 文件中提取图像是多么容易。

import struct,array

import cv2
import numpy as np

def showvec(fn, width=24, height=24, resize=4.0):
f = open(fn,'rb')
HEADERTYP = '<iihh' # img count, img size, min, max

# read header
imgcount,imgsize,_,_ = struct.unpack(HEADERTYP, f.read(12))

for i in range(imgcount):
img = np.zeros((height,width),np.uint8)

f.read(1) # read gap byte

data = array.array('h')

### buf = f.read(imgsize*2)
### data.fromstring(buf)

data.fromfile(f,imgsize)

for r in range(height):
for c in range(width):
img[r,c] = data[r * width + c]

img = cv2.resize(img, (0,0), fx=resize, fy=resize, interpolation=cv2.INTER_LINEAR)
cv2.imshow('vec_img',img)
k = 0xFF & cv2.waitKey(0)
if k == 27: # esc to exit
break

关于python - 在 openCV 中如何从 python 中的 opencv_createsamples 生成的矢量文件加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27391977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com