การตรวจจับบริเวณตัวเลขบนหน้าปัดมิเตอร์ Python Opencv

Python Opencv

การ ตรวจ จับ บริเวณ ตัว เลข บนหน้า ปัด มิเตอร์ Python Opencv

Python

วิธีการ ติดตั้งภาษา Python Opencv

1. import ต่อ library  Python Opencv

import os from PIL import Image
import cv2
import imutils
import numpy as np

2. อ่านภาพ

img = cv2.imread(“1615817564151.jpg”)

3. ทำ ภาพ ให้ เบลอ 

imgBlurred = cv2.GaussianBlur(img, (5,5), 0)

4. แปลง ภาพ เป็น gray scale 

gray = cv2.cvtColor(imgBlurred, cv2.COLOR_BGR2GRAY)

5. หา เส้น แนวตั้ง ด้วย edge detection 

sobelx = cv2.Sobel(gray,cv2.CV_8U,1,0,ksize=3)

6. ทำ threshold

ret2,threshold_img = cv2.threshold(sobelx,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)

7. ปรับปรุง ภาพ

element = cv2.getStructuringElement(shape=cv2.MORPH_RECT, ksize=(17, 3))
morph_img_threshold = threshold_img.copy()
cv2.morphologyEx(src=threshold_img, op=cv2.MORPH_CLOSE, kernel=element, dst=morph_img_threshold)

Python Opencv

8. ทำการ ติด ฉลาก ให้ วัตถุ

contours, hierarchy= cv2.findContours(morph_img_threshold,mode=cv2.RETR_EXTERNAL,method=cv2.CHAIN_APPROX_NONE)

9. วนลูป ใน แต่ละ วัตถุ

for i,cnt in enumerate(contours):
min_rect = cv2.minAreaRect(cnt)
#print(min_rect)
if validateRotationAndRatio(min_rect):

10. ตัด ออก มา ทีละ วัตถุ

x,y,w,h = cv2.boundingRect(cnt)
p_img=img[y:y+h,x:x+w]
img = cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)

Python Opencv

พอ ได้ บริเวณ เฉพาะ ตัวเลข มา แล้วนั้น

11. เอา บริเวณ เฉพาะ ตัวเลข มา ทำ ภาพ เป็น gray scale

gray = cv2.cvtColor(p_img, cv2.COLOR_BGR2GRAY) #convert to grey scale

12. ทำ threshold

ret,thresh2 = cv2.threshold(gray,127,255,cv2.THRESH_BINARY_INV)

13. ทำการ ติดฉลาก ให้ วัตถุ

# find contours, sort and draw the biggest one
contours, _ = cv2.findContours(thresh2, cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

ทำการเลือกแค่ 3 วัตถุ
contours = sorted(contours, key=cv2.contourArea, reverse=True)[:3]

14. ตัด ทีละ ตัวอักษร ออกมา

i = 0
while i < len(contours):
x, y, width, height = cv2.boundingRect(contours[i])
roi = thresh2[y:y+height, x:x+width]
cv2.imwrite(“piece”+str(i)+”.png”, roi)
i += 1

ดึง แต่ละ ส่วน แล้ว บันทึก ลง คอมพิวเตอร์

หมาย เหตุ ท้าย :
หาก คุณ ชอบ บทความ นี้ อย่าลืม คลิก❤ ด้านล่าง เพื่อ แนะนำ และ ถ้า คุณ มี คำถามใด ๆ แสดง ความคิด เห็น และ

ฉัน จะ พยายาม อย่าง ดี ที่ สุด ที่ จะ ตอบ คุณ สามารถ ติดตาม ฉัน บน Facebook Page (https://www.facebook.com/nextsoftwarehousethailand/) และ สามารถ ส่ง อีเมล ถึง ฉัน