บทความที่ 3 คำสั่งพื้นฐาน Python การลดขนาดรูปภาพ และ เขียนข้อความและสัญญาลักษณ์ในรูปของเรา


Python
Date 06 25, 2023

สวัสดีครับ บทความนี้เป็นการเขียนโปรแกรม python การลดขนาดรูปภาพ และ เขียนข้อความและสัญญาลักษณ์ในรูปของเรา เพื่อจะประยุกต์ใช้ในการ ในงานทำ image processing และแสดงผลของรุปภาพ ซึ่ง นี้จะเป็นตัวอย่างโค้ดที่ผมทดลอง

  1. computer
  2. ติดตั้ง library opencv

Nature

รูป แสดงผลเดิม มีขาด Image shape : (4032, 3024, 3)


จากรูปภาพนี้ เราจะทำการ ลด ขนาด รุปภาพลงโดยเรา สามารถดูได้จาก ค่า shape ที่แสดง โดยภาพที่ลดขนาดลงมีขนาด Image resizr : (466, 350, 3)

Nature

รูป แสดงผลเทียบรุปภาพ

ซึ่งจากตัวอย่าง ผมได้ทำการเชียน รุปภาพลงไป มีภาพ ลุกศร เส้นตรง รุปสี่เหลือ กรอบสี่เหลื่อม และคำ ที่เขียน Xcaliber

Nature

รูป เมื่อทำการ เขียนภาพลงไป

โค้ด 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()