บทความที่ 3 คำสั่งพื้นฐาน Python การลดขนาดรูปภาพ และ เขียนข้อความและสัญญาลักษณ์ในรูปของเรา
Python
Date 06 25, 2023สวัสดีครับ บทความนี้เป็นการเขียนโปรแกรม python การลดขนาดรูปภาพ และ เขียนข้อความและสัญญาลักษณ์ในรูปของเรา เพื่อจะประยุกต์ใช้ในการ ในงานทำ image processing และแสดงผลของรุปภาพ ซึ่ง นี้จะเป็นตัวอย่างโค้ดที่ผมทดลอง
- computer
- ติดตั้ง library opencv
รูป แสดงผลเดิม มีขาด Image shape : (4032, 3024, 3)
จากรูปภาพนี้ เราจะทำการ ลด ขนาด รุปภาพลงโดยเรา สามารถดูได้จาก ค่า shape ที่แสดง โดยภาพที่ลดขนาดลงมีขนาด Image resizr : (466, 350, 3)
รูป แสดงผลเทียบรุปภาพ
ซึ่งจากตัวอย่าง ผมได้ทำการเชียน รุปภาพลงไป มีภาพ ลุกศร เส้นตรง รุปสี่เหลือ กรอบสี่เหลื่อม และคำ ที่เขียน Xcaliber
รูป เมื่อทำการ เขียนภาพลงไป
โค้ด Python
#วาดภาพ เส้นตรง และสี่เหลี่ยม ลูกศร
import cv2
#อ่านภาพ
img= cv2.imread("./Imageprocessing1-1.jpg")
#กำหนดขนาด
r = 350/img.shape[1]
dim =(350,int(img.shape[0]*r))
print('Image shape :',img.shape)
print('Size request :',dim)
imgresized = cv2.resize(img,dim,interpolation=cv2.INTER_AREA)
print('Image resizr :',imgresized.shape)
#วาดเส้นตรง
# line (ภาพ , จุดเริ่ม้ต้น(x,y),จุดสุดท้าย(x,y),สี(BGR),ความหนา)
cv2.line(imgresized,(100,100),(200,200),(255,0,0),3)
cv2.arrowedLine(imgresized,(10,150),(20,250),(0,255,0),3)
#วาดรูปสี่เหลี่ยม
# rectangle(ภาพ, มุมที่1 , มุมที่2,สี,ความหนา)
cv2.rectangle(imgresized,(150,200),(250,300),(0,0,255),10)
cv2.rectangle(imgresized,(10,10),(80,80),(255,0,0),-1)
#แทรกข้อความ
#puttext(ภาพ,ข้อความ,พิกัดที่จะแสดงข้อความ(x,y),font,ขนาดข้อความ,ความหนา)
cv2.putText(imgresized,"Xcaliber",(150,350),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255),cv2.LINE_4)
cv2.imshow("original",img)
cv2.imshow("output",imgresized)
cv2.waitKey(0)
cv2.destroyAllWindows()