Home / Developer  / Android Developer  / OpenCV บน Android การทำแอพพลิเคชัน Censor แบบ Pixels

OpenCV บน Android การทำแอพพลิเคชัน Censor แบบ Pixels

เป็นการหยิบ Feature ส่วนของ Computer Vision ใน OpenCV มาใช้กับการพัฒนาแอพพลิเคชันบนระบบปฏิบัติการ Android เพื่อ Censor ภาพด้วย Pixels สำหรับผู้เริ่มต้นครับ

ก่อนจะเข้ามาทดลองทำ Labs นี้ผมแนะนำให้ลองศึกษาบทเรียนก่อนหน้านี้ก่อนครับ

อันที่จริงตัวอย่างนี้ก็อยู่ใน Sample Project ของ OpenCV for Android อยู่แล้วครับ แต่เราจะหยิบมาใช้สำหรับการพัฒนาแอพพลิเคชันใหม่ตั้งแต่ New Project กันเลยครับ

ก่อนอื่นเปิด ADT, eClipse ขึ้นมาครับ ทำการ New Android Project ขึ้นมาครับ

Screen Shot 2558-08-19 at 9.03.23 PM

Screen Shot 2558-08-19 at 9.05.38 PM

ตั้งค่าให้เรียบร้อย icon แอพฯ ต่างๆ

คลิกขวาที่ Project ของเราครับ เลือก Properties แล้วไปที่ Android

Screen Shot 2558-08-19 at 9.01.40 PM

Screen Shot 2558-08-19 at 9.02.02 PM

กดที่ปุ่ม Add.. ในช่อง Library แล้วทำการเลือก OpenCV (ตัวอย่างคือเวอร์ชัน 3.0.0)

Screen Shot 2558-08-19 at 9.02.13 PM

เมื่อเสร็จแล้วดังรูปตัวอย่างข้างล่างก็กด Apply

Screen Shot 2558-08-19 at 9.02.19 PM

 

เราจะสามารถเรียกใช้ Library ของ OpenCV ได้แล้วครับโดยที่ Project ไม่ต้องอยู่ Path เดียวกันกับ Library ก็ได้

ไปที่  Layout ของ Android ครับที่ res/activity_main.xml

Screen Shot 2558-08-19 at 9.12.07 PM

แก้ไข XML ให้เป็นตามตัวอย่างนี้ครับ

เป็นการเรียก opencv ส่วนของ CameraView ที่เป็นพื้นฐานของ Java บน OpenCV มาอยู่บน Layout ของ Android ครับตั้ง id ว่า main_activity

ไปที่ MainActivity.java ครับ ประกาศตัวแปรบน Header ตามนี้ก่อน

ในที่นี้เราจะ เรียกใช้งาน CameraControl เป็นหลักเลย แก้ไข Class หลักเป็นดังนี้ครับ

เพื่อเรียก CvCameraViewListener มาใช้งาน ประกาศตัวแปรต่อไปนี้

สังเกตที่

เป็นการเรียกโหมด ที่เราตั้งชื่อว่า VIEW_MODE_CENSOR โดยมีค่า Array Default เริ่มต้นเป็น 0 (กรณีมีหลายๆโหมดใช้ 0,1,3…,n)

ต่อไปนี้เป็นคำสั่งทำงานของ OpenCV ในการประมวลผลรูปภาพแบบ Pixels ครับ

 

ตามด้วย Code ชุดนี้จาก Sample 2 ของ OpenCV ครับ นั่นคือเราจะหยิบมาแค่การปรับ imageProc หลักๆเท่านั้น

ภาพรวมของ Code หน้า MainActivity.java เป็นดังนี้

เราจะต้องทำงานกับกล้องของ Device ดังนั้นไปที่ไฟล์ AndroidManifest.xml ครับเพิ่ม Permission เข้าไปดังนี้

และ

ก็เป็นอันจบครับ ทำการทดสอบกันดีกว่า Run บน Device จริงเท่านั้น

Screen Shot 2558-08-19 at 9.18.31 PM

ทดสอบกันหน่อย เลือกภาพที่จะทำการ Censor

Screenshot_2015-08-19-21-20-37

 

Screenshot_2015-08-19-21-20-51

ลองทดสอบแอพพลิเคชันของเรา

Screenshot_2015-08-19-21-19-39

Screenshot_2015-08-19-20-58-06

ดาวน์โหลด Source Code ที่: https://drive.google.com/folderview?id=0B1kwQ1abTIRrflVFMUQzMDNPZFFQelZkOG9aclAxQlplR0lXbk1RMGExRGtUbXFGS1FPQnM&usp=sharing

Comments

daydevthailand@gmail.com

อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ,ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)

Review overview
NO COMMENTS

Sorry, the comment form is closed at this time.