ทฤษฎีเบื้องต้นการประมวลผลภาพ

ทฤษฎีเบื้องต้นการประมวลผลภาพ

ทฤษฎีเบื้องต้นการประมวลผลภาพ พิกเซล (Pixel) คือความเข้มแสงที่รวมกันทำให้เกิดเป็นภาพภาพหนึ่ง ๆ จะประกอบด้วยพิกเซลมากมาย ซึ่งภาพแต่ละภาพที่สร้างขึ้นจะมีความหนาแน่นของพิกเซลเหล่านี้ แตกต่างกันออกไป ความหนาแน่นนี้เป็นตัวบอกถึงความละเอียด (Resolution) ของภาพซึ่งมีหน่วยเป็น ppi (Pixel Per Inch) คือ จำนวนพิกเซลต่อนิ้ว ซึ่งโดยทั่วไปถือว่าภาพที่มีความละเอียดสูงหรือคุณภาพดีจะมีความละเอียด 300 x 300 ppi ขึ้นไป ยิ่งค่า ppi ยิ่งสูงขึ้น ภาพก็จะมีความละเอียดและคมชัดมาขึ้น

ทฤษฎีเบื้องต้นการประมวลผลภาพ ภาพแบบดิจิตอล (Digital Image) เป็นภาพที่ถูกแปลงมาจากอนาล็อกให้อยู่ในรูปของตัวเลข โดยภาพอนาล็อกถูกแบ่งเป็นพื้นที่สี่เหลี่ยมเล็ก ๆ ที่เรียกว่าพิกเซลในแต่ละพิกเซล จะถูกระบุตำแหน่งด้วยคู่โคออดิเนต (x,y) และค่าระดับความเข้มแสงของพิกเซลนั้น ๆ โดยเราสามารถแปลภาพเป็นภาพแบบดิจิตอลได้โดยมีขั้นตอนและวิธีการดังนี้ เมื่อเรานำสัญญาณอนาล็อกที่ต้องการประมวลผลผ่านส่วนที่เรียกว่า ดิจิไตเซอร์ (Digitizor) ซึ่งจะมีหน้าที่ในการเปลี่ยนสัญญาณอนาลอกให้เป็นสัญญาณดิจิตอล จากนั้นทำการควอนไตซ์ (Quantizing) เพื่อแปลค่าความเข้มแสงให้เป็นตัวเลขฟังก์ชั่นของภาพ f(x,y)  จะถูกทำให้เป็นสัญญาณไม่ต่อเนื่อง ทั้งระนาบของภาพซึ่งเรียกว่าการสุ่มภาพ (Image Sampling) ของฟังก์ชั่นที่ได้เรียกว่าการควอนไตซ์ระดับความเข้มแสง (Grey Level Quantization)

สมมุติว่าสัญญาณภาพต่อเนื่อง f(x,y) ถูกดิจิไตซ์ในระนาบ x  และ y  เป็นช่วงเท่า ๆ กัน จะสามารถจัด f(x,y) ให้อยู่ในรูปของเมตริกซ์ขนาด  nxn ได้ดังสมการที่ 1

 

ทฤษฎีเบื้องต้นการประมวลผลภาพ

         ซึ่งทางขวาของสมการจะเรียกว่าข้อมูลภาพดิจิตอล และทุก ๆ สมาชิกของเมตริกซ์จะเรียกว่าพิกเซลจากขบวนการสร้างภาพดิจิตอลดังข้างต้นจะเห็นได้ว่าเราสามารถทราบขนาดของความละเอียดของภาพ NxN  พิกเซลและจำนวนระดับของความเข้มแสงในทางปฏิบัติการทำควอนไตเซชั่นในระบบภาพดิจิตอลจะมีค่าดังสมการที่ 2

ที่ซึ่ง bits คือขนาดของข้อมูลภาพที่เป็นดิจิตอล N  คือขนาดกว้างของภาพ และ M คือขนาดยาวของภาพ

สำหรับการคำนวณหาจำนวนความเข้มแสงที่ต้องการจะใช้สมการข้างล่าง

         โดย  M = จำนวนบิตที่ใช้ในการแทนข้อมูลภาพ 1 พิกเซล

                G = จำนวนความเข้มแสงที่ต้องการใช้ในการเก็บข้อมูลภาพ

ลักษณะการจัดเก็บข้อมูลภาพแบบดิจิตอล

         โดยทั่วไปแล้วภาพจะมีความเข้มตั้งแต่ 2 ระดับขึ้นไป แต่ที่นิยมใช้กันมากคือค่าระดับความเข้มของพิกเซลที่เท่ากับ 256 ระดับ ซึ่งจะทำให้ค่าของพิกเซลอยู่ในช่วย (0 – 255) โดยใช้เนื้อที่ในการเก็บข้อมูลขนาด 1 ไบต์ หรือ 8 บิต สำหรับข้อมูล 1 พิกเซล (256) ในกรณีที่ต้องการภาพที่มีความเข้มสูงอาจจะต้องการจำนวนบิตสำหรับการเก็บข้อมูลมากกว่า 8 บิต คืออาจจะเป็น 16 หรือ 24 บิต โดยจะแยกความแตกต่างของภาพแต่ละประเภทให้เห็นอย่างชัดเจนได้ดังนี้

         1)  ภาพ 2 ระดับ คือมีพิกเซลสีขาวกับสีดำเท่านั้น โดยแต่ละพิกเซลจะมีขนาดของข้อมูลเท่ากับ 1 บิต

         2)  ภาพ 16 ระดับ คือในแต่ละพิกเซลจะมีขนาดของข้อมูล 4 บิต ซึ่งทำให้สามารถแสดงได้ 16 ระดับสี

         3)  ภาพ 256 ระดับ คือในแต่ละพิกเซลจะมีขนาดของข้อมูล 8 บิต ซึ่งทำให้สามารถแสดงภาพได้ความเข้มถึง 256 ระดับ

         4)  ภาพทรูคัลเลอร์ (True Color) คือในแต่ละพิกเซลจะมีขนาดของข้อมูล 24 บิต ทำให้สามารถแสดงสีภาพออกมาได้เหมือนจริงมากที่สุดเพราะสามารถแสดงสีได้ถึง 16,777,216 สีภาพ ทรูคัลเลอร์สามารถแสดงได้เฉพาะภาพสีเท่านั้น

         โดยทั่วไปวิธีการประมวลผลภาพเชิงตัวเลขที่ทำให้คอมพิวเตอร์สามารถรู้จักวัตถุในภาพได้นั้น แบ่งออกได้เป็นสองระดับด้วยกัน คือการประมวลผลภาพในระดับต่ำ (Low-Level Image Processing) และการประมวลผลภาพในระดับสูง (High-Level Image Processing) การประมวลผลภาพในระดับต่ำจะเป็นการประมวลผลเชิงตัวเลขเกือบทั้งหมดเพื่อหาตัวแปรต่าง ๆ มาอธิบายข้อมูลภาพโดยมีจุดประสงค์ที่จะนำตัวแปรเหล่านั้นไปใช้ในการประมวลผลภาพระดับสูงต่อไป โดยทั่วไปแล้วการประมวลผลภาพระดับต่ำจะประกอบด้วยการประมวลผลภาพก่อน (Pre Processing) เช่นการกำจัดสัญญาณรบกวนหรือการทำให้ภาพคมชัดการหาขอบภาพเป็นต้นการประมวลผลระดับสูงเป็นการนำผลลัพธ์หรือสัญลักษณ์ที่ได้จากการประมวลผลภาพ ระดับต่ำมาตีความหรือประมวลเพื่อให้คอมพิวเตอร์สามารถรู้จักและเข้าใจภาพได้สำหรับความแตกต่างของการประมวลผลภาพทั้ง 2 ประเภทนั้นคือ การประมวลผลภาพระดับต่ำจะใช้ค่าความสว่างของจุดภาพ (พิกเซล) ส่วนการประมวลภาพระดับสูงนั้นข้อมูลภาพที่นำมาประมวลผลจะถูกแสดงในรูปสัญลักษณ์ ซึ่งสัญลักษณ์เหล่านี้จะแสดงถึงสิ่งต่าง ๆ ที่อยู่ในภาพเช่นขนาดของวัตถุ รูปร่าง และความสัมพันธ์ระหว่างวัตถุภาพ

แบบจำลองสี (Color Model)

         แบบจำลองสี (Color Model) เป็นสิ่งที่ใช้อ้างอิงถึงสีต่าง ๆ สำหรับคอมพิวเตอร์แล้วเราจะไม่ใช้แบบจำลองที่เป็น Analytical Model เหมือนกับที่ใช้ในทางวิทยาศาสตร์ซึ่งใช้วิธีการวัดที่อยู่ในรูปของพลังงานตลอดช่วงของสเปคตรัม (Spectrum) แต่จะเป็น Empirical Model ที่ได้รับความสัมพันธ์ของค่าที่ใช้อ้างอิงกับสีใด ๆ จากการทดลองการศึกษาแบบ Psychophysical ที่มีการรับรู้ของมนุษย์เข้ามาเกี่ยวข้องแบบจำลองสีมีหลายแบบด้วยกัน เช่นแบบจำลองสี RGB แบบจำลองสี CMY แบบจำลองสี CMYK แบบจำลองสี HSV แบบจำลองสี HIS แบบจำลองสี HLS แบบจำลองสี YIQ และแบบจำลองสี YUV (แบบจำลอง YcbCr) เป็นต้น

แบบจำลองสี RGB (RGB Color Model)

                   เป็นแบบจำลองที่เฉพาะเจาะจงกับจอภาพคอมพิวเตอร์เนื่องจาก RGB Model ได้ทำการสร้างสีต่าง ๆ ขึ้นโดยการใช้แหล่งกำเนิดแสงจำนวนสามสีได้แก่ สีแดง (Red) สีเขียว (Green) และสีน้ำเงิน (Blue) ที่เกิดจากสารเรืองแสงที่มีคุณสมบัติที่แตกต่างกันตามลำดับ ซึ่งแสงทั้งสามสีจะไม่เท่ากันในแต่ละอุปกรณ์นอกเสียจากว่าจะมีคุณสมบัติของสารเรืองแสง การตั้งค่าจอภาพและสภาพแวดล้อมที่จอภาพคอมพิวเตอร์เหมือนกันทุกประการ ซึ่งโดยปกติแล้วจะมีค่าที่แตกต่างกันออกไป

         แบบจำลองสี RGB ประกอบด้วยข้อมูลจำนวนสามส่วนคือค่า Intensity ของสีทั้งสามซึ่งได้แก่ สีแดง สีเขียวและสีน้ำเงิน

แบบจำลองสี HSV (HSV Color Model)

                   เป็นแบบจำลองสีที่ถูกสร้างขึ้นเพื่อเป็นทางเลือก ดังภาพที่ 2.7 ซึ่งจะให้ความหมายที่ดีกว่า เมื่อกล่าวถึงสีต่าง ๆ ในเชิงศิลปะ เช่น เมื่อพูดถึงสีเหลือในทางศิลปะจะมีความแตกต่างกัน เมื่อพิจารณาสีเหลืองอ่อนสีเหลืองแก่หรือสีน้ำตาลว่ามีความแตกต่างกันอย่างไร จะพบว่าทุกสีคือสีเหลืองนั่นเองที่มีระดับความเข้มหรือมีความอิ่มตัวที่แตกต่างกัน ดังนั้นสีในแบบจำลองสี HSV จึงให้ความรู้สึกที่เข้าใจได้มากกว่าสำหรับมนุษย์ ซึ่งจำลองสี HSV ประกอบด้วยสามส่วนคือ

                   H หมายถึง Hue หรือสีที่มีค่าที่แตกต่างออกไปตามความถี่ของแสง เช่น แดง เหลือง เขียว น้ำเงิน หรือม่วง เป็นต้น

                   S หมายถึง Saturation หรือความอิ่มตัวของ Hue นั้น ๆ เช่น สีแดงและสีชมพู ก็คือสีแดงเพียงแต่สีชมพูมีความอิ่มตัวน้อยกว่า

                   V หมายถึง Value หรือค่าความสว่างของสีโดยมีค่า Value ต่ำสุดหมายถึง สีดำไม่ว่าจะมี Hue หรือ Saturation เท่าใดและค่า Value สูงสุดหมายถึงสีขาวซึ่งเป็นสีที่สว่างที่สุดของ Hue และ Saturation นั้น ๆ เช่น Hue ใด ๆ มีค่า Saturation มีค่าเท่ากับ 0 เมื่อ Value สูงสุดก็คือสีขาวและ Value ต่ำสุดคือสีดำหรือ Hue สีเหลืองที่ Saturation มีค่าเท่ากับ 100 เมื่อ Value สูงสุดคือสีเหลืองและ Value ต่ำสุดคือสีดำ

การแปลงภาพสี RGB เป็นภาพระดับสีเทา (Grayscale)

ภาพระดับสีเทาเป็นภาพซึ่งค่าในแต่ละจุดภาพคือค่าความเข้มของสีแต่ ละตำแหน่งของ จุดภาพนั้น ซึ่งค่าที่เป็นไม่ได้ของภาพระดับสีเทาทั้งหมดขึ้นอยู่กับจำนวนบิตที่ใช้ ตัวอย่าง เช่น ภาพระดับสีเทา 8 บิตที่ระดับสี ทั้งหมด 256 ระดับ โดยนิยมระบุในช่วง 0-1 หรือ 0-255 แสดงระดับสีเทา ภาพระดับสีเทาจะมีการไล่ ระดับความอ่อนแก่ของสี ซึ่งอยู่ระหว่างสี ขาวและสี ดำ Halftone Image อย่างต่อเนื่อง โดยที่ค่าแต่ละพิกเซล ของภาพจะหมายถึงความเข้มแสงแต่ละ ตำแหน่งของพิกเซล ที่อยู่ในรู ประดับสี เทา การเปลี่ยนภาพจากระบบสี อาร์จีบี (RGB) เป็น ระดับสีเทา (Gray Scale) จะใช้สมการดังนี้ในการเปลี่ยน

โดย Y แทน ค่าระดับสีเทา ณ จุดพิกเซล ที่เราต้องการหา R แทน ค่าสีแดง ณ จุด ที่ต้องการหา G แทน ค่าสีเขียว ณ จุด ที่ต้องการหา B แทน ค่าสีน้าเงิน ณ จุด ที่ต้องการหา

แปลงภาพจาก RGB ให้เป็น HSV

         ปริภูมิสี HSV เป็นปริภูมิสีที่ประกอบด้วย 3 องค์ประกอบได้แก่ค่า H (Hue) คือค่า โทนสีหรือค่าสีสันซึ่งมีค่าสีที่แตกต่างกันไปตามความถี่ของแสง ค่า S (Saturation) คือค่าความ อิ่มตัวของสี ซึ่งเป็นค่าที่แสดงระดับสีเมื่อเทียบกับค่าโทนสี และค่า V (Value) คือค่าบอกระดับ ความสว่างของภาพ ซึ่งที่ระดับความสว่างต่ำสุดหมายถึงสีดำ ไม่ว่าจะมีค่าโทนสี หรือค่าความอิ่มตัว สีเท่าใด และระดับความสว่างสูงสุดหมายถึงสีขาว ซึ่งเป็นสีที่สว่างที่สุดของค่าโทนสี และค่า ความอิ่มตัวสีโดยภาพปริภูมิสี HSV

         โมเดลสี RGB เป็นโมเดลของแสงสี ค่าทั้งสามสีจะเปลี่ยนแปลงตามปริมาณแสง จึงทำให้เกิดความผิดพลาดขึ้น ดังนั้นจึงต้องมีการแปลงโมเดลสี RGB เป็น HSV เพื่อนำมาใช้ในการแบ่งแยกสี โดยแปลงโมเดลสี RGB เป็น HSV

โดยที่

R G B แทนค่าสีในระบบ RGB มีค่าอยู่ระหว่าง 0.0-1.0

H S V แทนค่าสีในระบบ HSV มีค่าอยู่ระหว่าง 0.0-1.0

Max แทนค่าสูงสุดใน (R, G, B)

Min แทนค่าต่ำสุดใน (R, G, B)

รับสอน Python ทั้งแบบเบื้องต้นและ Advanced

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *