Digital Image Processing Lecture Notes PDF
Document Details
Uploaded by HottestLucchesiite3658
Tags
Summary
These lecture notes cover digital image processing, including topics such as image enhancement, detection, and segmentation. The notes also discuss the use of computers in image processing.
Full Transcript
310-3311 Image Processing DIGITAL IMAGE PROCESSING การใช้การประมวลผลทางคอมพิวเตอร์ (Computer Algorithm) ในการ จัดการรูปภาพ มีจดุ ประสงค์การทางานที่หลากหลาย เช่น การปรับปรุง รูปภาพ (Enhancement) ก...
310-3311 Image Processing DIGITAL IMAGE PROCESSING การใช้การประมวลผลทางคอมพิวเตอร์ (Computer Algorithm) ในการ จัดการรูปภาพ มีจดุ ประสงค์การทางานที่หลากหลาย เช่น การปรับปรุง รูปภาพ (Enhancement) การตรวจจับวัตถุ (Detection) การแบ่งแยก บริเวณในภาพ (Segmentation) เป็ นต้น 310-3311 Image Processing IMAGE IMAGE 5 OBJECTS A cat that is lying HEIGHT 1.5 M down and looking at the camera IMAGE DESCRIPTOR RECOGNITION / CLASSIFICATION IMAGE 310-3311 Image Processing 310-3311 Image Processing LICENSE PLATE RECOGNITION IMAGE QUALITY CONTROL RESTORATION 310-3311 Image Processing *** ถ้าโจทย์ปัญหายาก ให้ใช้วิธีกาหนดเงื่อนไข, ขอบเขตของงาน, แบ่งเป็นงานย่อย Process A Process B Process C TAKE IMAGE FROM CAMERA EDGE & CORNER DETECTION IMAGE TRANSFORMATION ตัวอย่างการใช้เครื่องมือ IMAGE PROCESSING ทีจ่ ะได้เรียนใน CLASS นี้ 310-3311 Image Processing การวัดผลสัมฤทธิใ์ นการเรียน ร้อยละ 1. การมีสว ่ นร่วมในชั้นเรียน 10 2. การบ้านและโจทย์ปญ ั หาในชั้นเรียน 30 3. สอบกลางภาค 30 4. สอบปลายภาค 30 310-3311 Image Processing Visual Problem Image Image Feature Object Image Domain Acquisition Enhancement Extraction Recognition Understanding แนวทางการหาโจทย์ปัญหา งานทางด้านการประมวลผลภาพ (อย่างง่าย) 1.) งานที่ใช้ตา (มอง) และทาการตัดสินใจ 2.) งานที่มีการทางานอย่างต่อเนื่อง => ต้องการระบบอัตโนมัติ 3.) งานที่จาเป็นต้องมีการแก้ไข ปรับปรุงภาพ การคัดแยกวัตถุ การตรวจสอบความสมบูรณ์ การหาวัตถุที่กาหนดในภาพ การนับชิ้นวัตถุ การวัดปริมาณจากสิ่งที่เห็น 310-3311 Image Processing Problem / Goal 24 x 7 Workload 310-3311 Image Processing Problem / Goal skilled worker (need to train) 310-3311 Image Processing 310-3311 Image Processing Algorithm 310-3311 Image Processing Experiment 310-3311 Image Processing Conclusion Human Visual Perception Image Processing (310-3311) Why do we have to study about our eyes in image processing class ? Cornea: A tough, transparent tissue that covers the anterior surface of the eye. Lens: Makes up of concentric layers of fibrous cells and contains 60-70% of water. To focus on objects near or far the eye, the controlling muscles cause the lens to be thicker or thinner. Retina: innermost membrane lines the inside of the wall’s entire posterior portion. Retina contains cones and rods. Lecture 01 : Human Visual Perception Ref: https://www.opentextbooks.org.hk/ditatopic/26428 Page 15 Why do we have to study about our eyes in image processing class ? Cornea: A tough, transparent tissue that covers the anterior surface of the eye. Lens: Makes up of concentric layers of fibrous cells and contains 60-70% of water. To focus on objects near or far the eye, the controlling muscles cause the lens to be thicker or thinner. Retina: innermost membrane lines the inside of the wall’s entire posterior portion. Retina contains cones and rods. Lecture 01 : Human Visual Perception Ref: https://www.opentextbooks.org.hk/ditatopic/26428 Page 16 Comparing between lens of your eye and camera, what is big the difference ? Lecture 01 : Human Visual Perception Ref: https://www.sciencelearn.org.nz/resources/50-how-the-eye-focuses-light Page 17 Comparing between lens of your eye and camera, what is big the difference ? Smartphone camera Lecture 01 : Human Visual Perception Ref: https://www.sciencelearn.org.nz/resources/50-how-the-eye-focuses-light Page 18 Why could we design our camera lens like our eyes? Water & Oil Lecture 01 : Human Visual Perception Page 19 On Smartphone ? Xiaomi Mi Mix Fold (available in China only) Using C1 professional imaging chip. telephoto and macro by the same liquid lens Mass production of mobile phone with liquid lenses. Lecture 01 : Human Visual Perception Page 20 Animals Eyes Lecture 01 : Human Visual Perception Ref: http://www.24hviralphotos.com/amazing-facts-about-human-vision-vs-animal-vision-8-pics Page 21 Can we trust our eyes? Koffka ring Lecture 01 : Human Visual Perception Ref: http://persci.mit.edu/gallery Page 22 Can we trust our eyes? Koffka ring Lecture 01 : Human Visual Perception Ref: http://persci.mit.edu/gallery Page 23 Lecture 01 : Human Visual Perception Page 24 Lecture 01 : Human Visual Perception Page 25 Fundamental Operation Image Processing (310-3311) Digital Image (Grayscale) But, this is what computer see. We see “image” like this. Lecture 01 : Fundamental Operation Page 27 Digital Image (Grayscale) We see “image” like this. 0 255 But, this is what computer see. Lecture 01 : Fundamental Operation Page 28 Digital Image ➔ Array (N-dimensions) การจัดการ “ภาพ” ด้ วย Python Columns (Width) (0,0) (0,1) (0,2) (1,0) (2,0) Rows (r,c) (Height) Lecture 01 : Fundamental Operation Page 29 Digital Image (Color – RGB Model) Red Green Blue (0,0) (0,1) (0,2) (1,0) (0,0) (0,1) (2,0) (0,2) (1,0) (0,0) (0,1) (0,2) (2,0) (1,0) (2,0) Channel : Red / Green / Blue Lecture 01 : Fundamental Operation Page 30 Python Implementation 1.) Check Python version 2.) Install PIP 3.) Install library NumPy & Open CV *** How to install PIP in macOS https://www.geeksforgeeks.org/how-to-install-pip-in-macos Lecture 01 : Fundamental Operation Page 31 Python Virtual Environment “A virtual environment is a Python environment such that the Python interpreter, libraries and scripts installed into it are isolated from other” 1.) การสร้าง Virtual Environment python -m venv 2.) การ Activate [Run] env/Scripts/activate.bat Lecture 01 : Fundamental Operation Page 32 Python Virtual Environment “A virtual environment is a Python environment such that the Python interpreter, libraries and scripts installed into it are isolated from other” 3.) การสร้าง File requirements.txt สาหรับเก็บ List pip freeze > requirements.txt 4.) การ Install Package จาก requirements.txt pip install -r requirements.txt Lecture 01 : Fundamental Operation Page 33 Read / Write / Show image Lecture 01 : Fundamental Operation Page 34 Read / Write / Show image อ่านไฟล์ภาพทีอ่ ยู่ใน Path ทีก่ าหนด เก็บไว้ในตัวแปร [ img ] แสดงภาพในตัวแปร [ img ] ออกมาทางหน้าต่าง Save ภาพลงไปตาม Path ทีก่ าหนด ให้รอรับการกดปุ่ มอะไรก็ได้จาก Keyboard (ถ้าไม่ใส่หน้าต่างจะปิ ดลงเอง) หลังจากกดปุ่ มแล้วจึงสั่งให้ปิดหน้าต่างทัง้ หมด Lecture 01 : Fundamental Operation Page 35 Access image attributes Lecture 01 : Fundamental Operation Page 36 Access image attributes Lecture 01 : Fundamental Operation Page 37 Access / Modify each pixel การสร้าง Array ด้วย NumPy numpy.empty(shape, dtype) numpy. zeros(shape, dtype) numpy. ones(shape, dtype) It creates an uninitialized array Returns a new array of Returns a new array of specified of specified shape and dtype. specified size, filled with zeros. size and type, filled with ones. Lecture 01 : Fundamental Operation Page 38 Access / Modify each pixel # Data Types Description 1 bool_ Boolean (True or False) stored as a byte 2 int8 Byte (-128 to 127) 3 int16 Integer (-32768 to 32767) 4 int32 Integer (-2147483648 to 2147483647) 5 int64 Integer (-9223372036854775808 to 9223372036854775807) 6 uint8 Unsigned integer (0 to 255) 7 uint16 Unsigned integer (0 to 65535) 8 uint32 Unsigned integer (0 to 4294967295) 9 uint64 Unsigned integer (0 to 18446744073709551615) 10 float_ Shorthand for float64 11 float32 Single precision float: sign bit, 8 bits exponent, 23 bits mantissa 12 float64 Double precision float: sign bit, 11 bits exponent, 52 bits mantissa 13 complex Shorthand for complex128 14 complex64 Complex number, represented by two 32-bit floats (real and imaginary components) 15 complex128 Complex number, represented by two 64-bit floats (real and imaginary components) Lecture 01 : Fundamental Operation Page 39 Access / Modify each pixel Lecture 01 : Fundamental Operation Page 40 What will happen if… ❑ จะเกิดอะไรขึ้นถ้ากาหนดให้ค่าในภาพมีค่าที่ไม่ได้อยู่ในช่วง 0 – 255 ??? ❑ ถ้ามีการวนลูปออกนอกบริเวณภาพจะเกิดอะไรขึ้น Try this… ❑ แยกภาพสี RGB ออกเป็น Plane สีย่อย Red, Green, Blue ❑ ทดลองเขียน Function ปรับค่าความสว่าง (Brightness) ของภาพ ❑ ทดลองใช้ Function hconcat หรือ vconcat เพื่อนาภาพมาวางต่อกัน Lecture 01 : Fundamental Operation Page 41 Classwork Learning by doing Let’s start with… Workshop “Drawing Circle on Image” Lecture 01 : Fundamental Operation Page 42 Hint R*Cos(Angle) unit circle R*Sin(Angle) Lecture 01 : Fundamental Operation Page 43 Modify drawing function 1) Draw edge only 2) Set border size Lecture 01 : Fundamental Operation Page 44