Wuttichai Hung

Line Notify เป็นอีกหนึ่งช่องทางที่ดีมากๆสำหรับส่งการแจ้งเตือน ซึ่งได้ทั้งข้อความและรูปภาพ ส่วนตัวผมเองปัจจุบันก็ใช้อยู่เหมือนกัน เขียน bs4-python เช็คราคาทอง ถ้ามีการเปลี่ยนแปลงให้ส่งข้อความราคาทองปัจจุบันให้คุณแม่ (ก่อนหน้านี้แม่ชอบมาถามว่า ราคาทองตอนนี้เท่าไร เช็คให้หน่อย วันละ 3 เวลา ก็เลยสร้าง app ให้เลย 555 ถูกใจแม่มาก)

ส่งข้อความ input ที่เราจะใส่ไปคือ Token และข้อความ
ส่งรูปภาพ input ที่เราใส่ไปก็จะเป็น Token ข้อความและรูปภาพ

Token ในที่นี้เป็นตัวบอกทาง Line Notify ว่าส่งไปในแชทไหน เราก็ต้องไปสร้างในหน้าเว็บของ Line notify ตามขั้นตอนด้านล่างนี้เลย

เริ่มการสร้าง Token

  1. เข้าไปที่ลิ้งข้างล่างและ Login ด้วยบัญชี Line

2. กดเข้าที่ My page ตามภาพด้านล่าง

--

--

เราจะพาทุกคนใช้ Extension ของ VS code ที่จะช่วยให้ทุกคนสามารถ Edit code จากเครื่องบน Server บน VS code ผ่าน SSH

มาที่เครื่อง Local ของเราทางซ้ายมือในส่วน Extension ของ VS code เราค้นหาคำว่า

remote ssh

VS Code Extension: Remote-SSH

จากนั้นทำการ install จะขึ้น icon รูปจอคอม >< ชื่อ Remote explorer

--

--

SMTP (Simple Mail Transfer Protocol)เป็น protocol สำหรับการส่ง Email ซึ่งเราสามารถเรียกใช้ผ่านการเขียนโปรแกรม Python ด้วย smtplib นั้นทำให้เราสามารถส่ง Email ผ่านการเขียนโปรแกรม python ได้นั้นเอง ลุยเลยยย !!

1. ตั้งค่า Allow less secure apps ให้เป็น On

ลดระดับความปลอดภัยของ Gmail เพื่อให้สามารถส่ง Email ผ่าน Code ได้ ผ่านลิ้งนี้ https://myaccount.google.com/lesssecureapps

2. Copy code ด้านล่างนี้ไปใช้ได้เลย

EMAIL_ADDRESS = Email ผู้ส่ง
EMAIL_PASSWORD = รหัสผ่าน
EMAIL_RECIEVER = Email ผู้รับ
subject = หัวข้อ Email
body = เนื้อหา Email

3. Run python

--

--

เมื่อดวงตาของคนเรามองเห็นภาพได้ เปรียบเสมือนกล้องที่สามารถรับแสงแล้วแปลงเป็นข้อมูลภาพ แล้วถูกส่งต่อไปประมวลผลภาพบนคอมพิวเตอร์ (computer vision)

และ computer vision นี้เอง เป็นสิ่งที่ทำให้ผมผ่านทั้ง Pre-project, Project Engineering มาได้อย่างราบรื่น

บางคนอาจสงสัย Pre-project คืออะไร ? มันก็คือวิชาเรียนนึงตอนมหาลัยปี 3 ประมาณว่าให้ทำคล้ายกับโปรเจคจบ แต่ใน scale ที่เล็กกว่า มีเวลาทำน้อยกว่า เพื่อที่จะให้รู้ว่าโปรเจคจริงๆต้องทำแนวๆไหน แล้วหัวข้อแนวนี้เราพอจะไปได้หรือเปล่า แต่จริงๆแล้ว Image processing เป็นวิชาเรียนนึงในตอนปี4 เลยที่เดียว

เรามาเข้าเนื้อหากันเลยแล้วกัน ในที่นี้เราจะใช้ภาษา python ในการทำงาน นั้นก็เพราะว่าใช้งานง่าย และสามารถไปต่อยอดเรื่อง Machine learning ในอนาคตได้อีกด้วย แล้ว library ตัวชูโรงของเราก็คือ OpenCV สามารถเรียกใช้ด้วยคำสั่ง import cv2 และในที่นี้เราใช้ matplotlib ในการแสดงผลภาพบน Jupyter notebook

%matplotlib notebook เป็นลักษณะการแสดงผลของ matplotlib บน jupyter notebook
เริ่มจากการอ่านภาพด้วยคำสั่ง cv2.imread เราจะได้ข้อมูลภาพเก็บในตัวแปร img_bgr
- ตาlibrary opencv เนี้ย จะมีการอ่านภาพเป็นแบบ BGR(ฟ้า เขียว แดง) แทนที่จะเป็น RGB(แดง เขียว ฟ้า)
- ส่วนยาย matplotlib มีการแสดงผลภาพแบบ RGB ไม่ใช่ BGR
- ดังนั้นเราจึงทำการสลับมิติของภาพให้เป็น RGB ตามที่เราเข้าใจกันได้ง่ายๆ ด้วย cv2.cvtColor ได้เป็น img_rgb
- จากนั้นทำการแสดงผลภาพออกมาดูด้วยคำสั่ง plt.imshow ไปเลย

ต่อไปเราไปดูข้อมูลอื่นๆของภาพกัน
- เราดูขนาดของภาพด้วยการใช้ .shape จะเห็นว่าจะมีการบอกขนาดเป็น (สูง, กว้าง, ลึก)
- ทีนี้เราลองมาดูข้อมูลภาพด้วยคำสั่ง print เราจะเห็นค่าของแต่ละตำแหน่ง pixel อันที่จริงมันจะมีข้อมูลเยอะมาก แต่เราแสดงให้เห็นแค่คร่าวๆ อย่างที่เห็น 51 เป็นตำแหน่ง (0, 0, 0) คือซ้ายบนสุดของภาพ และแสดงค่ามิติของสีแดง (R)

--

--