yyzn  2022-04-06 14:43:15  OpenCV |   查看评论   

#初始化一个矩形np.max(marks)+1行,3列,默认值为0colorTab = np.zeros((np.max(marks)+1,3))#遍历数组,给每行的3列赋值,就是RGB颜色值,8位的for i in range(len(colorTab)):    aa = np.random.uniform(0,255)    bb = np.random.uniform(0,255)    cc = np.random.uniform(0,255)    colorTab[i] = np.array([aa,bb,cc],np.uint8)#初始化另一个跟img图像形状大小一样的图像,一副黑色图像bgrImage = np.zeros(img.shape,np.uint8)#遍历marks形状的行列for i in range(marks.shape[0]):    for j in range(marks.shape[1]):        index = marks[i][j]        #判断是不是区域与区域之间的分界,如果是边界(-1),则使用白色显示        if index == -1:            bgrImage[i][j] = np.array([255,255,255]) #像素点设置位白色        else:            bgrImage[i][j] = colorTab[index]    #像素点设置位上边随机生成的颜色值#显示处理后的图像图像cv2.imshow('After ColorFill',bgrImage)#总结,先生成一个跟marks相同数量的row*col的一张颜色表,然后创建一个跟marks相同大小的一副黑色图像#最后对黑色图像画出白色边界和内部随机彩色像素值

def image_roi(): image_source = cv2.imread('C:/VisionMaster/image.jpg') if image_source is None: print('Image is not found.') return '' # ROI区域(可根据用户需求修改) img_roi = image_source[855:1443, 547:1285] # 保存图像 cv2.imwrite('C:/VisionMaster/roi.jpg',img_roi) return img_roi# ****************************************************# 在ROI区域分割出目标物料图像def imgpro(image_source): # 图像处理:灰度化 dst = cv2.cvtColor(image_source,cv2.COLOR_RGB2GRAY) # 图像处理:二值化 ret,dst_2=cv2.threshold(dst,90,230,cv2.THRESH_BINARY) # 图像处理:形态学开运算 kernel = np.ones((3,3),np.uint8) opening = cv2.morphologyEx(dst_2, cv2.MORPH_OPEN, kernel) # binary,contours,hierarchy = cv2.findContours(opening,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE) # 图像处理:包络轮廓 contours,binary = cv2.findContours(opening,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自python图像处理代码,望大神详细解释。越详细越好

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]