xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

opencv,python,工業反色二維碼,自動識別,記錄長度不合格數據

資源截圖

代碼片段和文件信息

“““
這是最新版數二維碼實時識別程序,已通過opencv函數實現攝像頭顏色翻轉和實時掃描
“““
import?time
import?ctypes
import?sys
from?cv2?import?cv2?as?cv2??#?在vscode里面直接import?cv2會顯示代碼有問題,其實是沒問題的,這種導入方式可以避免;
import?pyzbar.pyzbar?as?pyzbar
import?csv


“““這一部分是用來設置windows下顏色的“““
#?句柄號
STD_OUTPUT_HANDLE?=?-11
#?錯誤顯示,前景色
FOREGROUND_RED?=?0x04??#?紅
FOREGROUND_GREEN?=?0x02??#?綠
FOREGROUND_BLUE?=?0x01??#?藍
FOREGROUND_INTENSITY?=?0x08??#?加亮
#?錯誤顯示,背景色
BACKGROUND_WHITE?=?0x47??#?白
BACKGROUND_INTENSITY?=?0x80??#?加亮
color_error?=?FOREGROUND_RED?|?FOREGROUND_INTENSITY?|?BACKGROUND_WHITE?|?BACKGROUND_INTENSITY

std_out_handle?=?ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)


def?set_cmd_color(color?handle=std_out_handle):
????bool?=?ctypes.windll.kernel32.SetConsoleTextAttribute(handle?color)
????return?bool


def?reset_color():
????set_cmd_color(FOREGROUND_RED?|?FOREGROUND_GREEN?|?FOREGROUND_BLUE)


def?print_color_text(color?text):
????set_cmd_color(color)
????sys.stdout.write(‘%s\n‘?%?text)??#?==>?print(text)
????reset_color()


PATH_OK?=?“OK_record.csv“
found_ok?=?set()
duration?=?2015
freq?=?3000
check_num_config_path?=?“config.txt“??#?此文檔為設置監測用字符位數,目前為30可依據需要更改,需要重啟程序才可以
cam_config_path?=?“cam_config.txt“??#?此文檔為設置攝像頭序號,PC寫1,筆記本寫2。

with?open(check_num_config_path?“r“)?as?f:
????check_data?=?f.readline()
????print(f“當前數據長度限制為:{check_data}“)

with?open(cam_config_path?“r“)?as?l:
????cam_info?=?l.readline()
????print(f“檢測到攝像頭配置文件,當前使用攝像頭序號為:{cam_info}“)
????print(“攝像頭唯一時,建議將該數字設置為1,筆記本建議設置為2“)

check_num?=?check_data
cam_num?=?cam_info

PATH_NOK?=?“NOK_record.csv“
found_nok?=?set()

capture?=?cv2.VideoCapture(0?cv2.CAP_DSHOW)


def?main():
????while?True:
????????ret?frame?=?capture.read()??#?從攝像頭獲取每一幀

????????frame_gray?=?cv2.cvtColor(frame?cv2.COLOR_BGR2GRAY)??#?對幀進行灰度化
????????ret1?mask?=?cv2.threshold(frame_gray?175?255?cv2.THRESH_BINARY)??#?對灰度化之后的幀進行二值化
????????mask_inv?=?cv2.bitwise_not(mask)??#?對二值化后的圖像取反,直接生成黑白頁面

????????barcodes?=?pyzbar.decode(mask_inv)??#?對每一幀進行解碼

????????for?barcode?in?barcodes:
????????????barcode_data?=?barcode.data.decode(“utf-8“)
????????????if?len(barcode_data)?!=?int(check_num):
????????????????#?print(f“錯誤數據**bad_data**:\t{barcode_data}\t字符長度為:{len(barcode_data)}“)
????????????????#?print_color_text(color_error?f“錯誤數據**bad_data**:\t{barcode_data}\t字符長度為:{len(barcode_data)}“)
????????????????bad_data?=?barcode_data
????????????????#?winsound.Beep(freq?duration)
????????????????if?bad_data?not?in?found_nok:
????????????????????with?open(PATH_NOK?“a+“)?as?f:
????????????????????????csv_write?=?csv.writer(f)
????????????????????????date?=?[bad_data?time.strftime(“%Y-%m-%d?%H:%M:%S“?time.localtime())?“長度“?len(barcode_data)]
????????????????????????csv_write.writerow(date)
????????????????????????print_color_text(color_error?f“錯誤數據**bad_data**:\t{barcode_data}\t字符長度為:{len(barcode_data)}該數據已加入錯誤記錄“)
????????????????????found_nok.add(bad_data)
?

評論

共有 條評論