比赛需要将二值图转成coco格式,还没跑通
中间有一步需要将二值图上色
代码如下
import cv2
from skimage import measure, color
import os.path
import glob
def set_color(path,outdir):
img = cv2.imread(path)
# img_copy = img.copy()
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# img_gauss = cv2.GaussianBlur(img_gray, (5, 5), 1)
img_temp = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)[1]
labels = measure.label(img_temp)
dst = color.label2rgb(labels, bg_label=0) # bg_label=0要有,不然会有警告
# cv2.imshow("666", dst)
cv2.waitKey(0)
# cv2.destroyAllWindows()
x = os.path.basename(path).split(".")[0]
cv2.imwrite(outdir + x + '.png', dst)
path = "D:\\dataset\\context\\test_AB\\bbb\\*.png"
out = "D:\\dataset\\context\\test_AB\\annotations\\"
for jpgfile in glob.glob(path):
set_color(jpgfile,out)
原图与结果
(彩图是全黑的可以在arcgis查看)