数据收集小程序,收集表小程序怎么删除,数据收集小程序,收集表小程序怎么填
本程序用于批量调节图像曝光度、锐利度、对比度、亮度,可视化进行,方便找到最佳值。这些参数在应用到其他程序时,需根据程序中乘的系数换算,不然得不到理想效果。
#!/usr/怕孤单的店员/python# -*-编码:utf-8 -*-# python3.7#作者:FistQ#日期:2019/10/11导入cv2导入numpy作为NP导入osdef Contrast _ and _ Brightness(alpha,beta,img): blank=np.zeros(img.shape,img。dtype)# dst=alpha * Img beta * blank dst=cv2。add weighted(Img,alpha,blank,1-alpha,beta)返回dst def Img _ Adjust(GAMMA定义一个核dst=对比度和亮度(对比度,亮度,img) res=cv2.filter2D(dst,-1,内核=内核)res=gamma_trans(res,gamma)返回resdef GAMMA _ trans(img,gamma):#gamma函数处理gamma_table=[np.power(x/255.0,gamma)*255.0 for x in range(256)]#建立映射表_ table=NP。圆形(NP。数组(_ table)).astype(np.uint8)#颜色值为整数返回cv2 .LUT(img,伽马_表)#图片颜色查表。另外可以根据光强(颜色)均匀化原则设计自适应算法def nothing(x):passif _ _ name _ _= _ _ main _ _ :cv2。命名窗口( demo ,0) cv2.createTrackbar(Gamma , demo ,100,1000,nothing)cv2。createtrackbar(锐化,演示,15,100,无)cv2。createtrackbar(对比,演示,20,100,无)cv2。createtrackbar( Brightness , demo ,6,100,nothing) data_base_dir= ./images/error #输入文件夹的路径outfile_dir= ./images/out #输出文件夹的路径processed_number=0 #统计处理图片的数量打印(按回车键确认您的操作并处理下一张图片)用于操作系统中的文件。列表目录(数据库目录):#遍历目标文件夹图片read _ img _ name=data _ base _ dir //文件。strip()#取图片完整路径image=cv2。im read(read _ img _ name)#读入图片while 1:flag=cv2。gettrackbarpos( Key , demo )value _ of _ Gamma=cv2。gettrackbarpos( Gamma , demo )值_ of _ Gamma=值_ of _ Gamma * 0.01值_ of _ Sharpen=cv2。gettrackbarpos( Sharpen , demo )value _ of _ Sharpen=value _ of _ Sharpen * 0.5 value _ of _对比度=cv2。gettrackbarpos( Contrast , demo )value _ of _ Contrast=value _ of _ Contrast * 0.01 value _ demo )value _ of _ brightness=value _ of _ brightness * 0.5 # image _ gamma _ correct=gamma _ trans(image,value _ of _ gamma)image _ gamma _ correct=Img _ Adjust(value _ of _ gamma,value_of_sharpen,value _ of _ Contrast,image) cv2.imshow(demo ,image _ gamma _ correct)k=cv2。等待键(1)如果k==13: #按回车键确认处理、保存图片到输出文件夹和读取下一张图片processed _ number=1 # out _ img _ name=outfile _ dir // % d . png %(value _ of _ gamma * 100)out _ img _ name=outfile _ dir / % d _ %(value _ of _ gamma * 100)文件。strip()cv2。im write(out _ img _ name,image_gamma_correct) print(已处理的照片数为,processed _ number)break elif k==27:cv2。destroyallwindows()效果图如下:
参考链接:批量调整图片的曝光率