ผลต่างระหว่างรุ่นของ "OpenCV Computer Vision"

จาก Morange Wiki
(Contents)
 
 
(ไม่แสดง 14 รุ่นระหว่างกลางโดยผู้ใช้ 2 คน)
แถว 1: แถว 1:
 +
<center>[[ไฟล์:Stuff.png|thumb|center|alt=How OpenCV Work on Linux with Python Language.|upright=2.35]]</center>
 
== OpenCV ==  
 
== OpenCV ==  
 
==== What IS CV? ====
 
==== What IS CV? ====
* CV ย่อมากจากคำว่า Computer Vision  คือ การนำเทคโนโยลีสารสนเทศต่างๆ ทั้ง ภาพ และ วิดีโอ มาประมวลผลโดยนำหลักการทางคณิตศาสตร์เข้ามาช่วยในการพัฒนา
+
* '''CV''' ย่อมากจากคำว่า Computer Vision  คือ การนำเทคโนโยลีสารสนเทศต่างๆ ทั้ง ภาพ และ วิดีโอ มาประมวลผลโดยนำหลักการทางคณิตศาสตร์เข้ามาช่วยในการพัฒนา
* OpenCV หรือ Open Source Computer Vision เป็น Library สำหรับเขียนโปรแกรมหรือพัฒนาซอฟต์แวร์ให้สามารถประมวลผลภาพได้ ในทั้งนี้ในด้านธุรกิจและบริการที่จะสามารถมองเห็นภาพให้ชัดเจนได้เลยอาจจะยกตัวอย่างว่า ระบบตรวจจับใบหน้า (Face Detection)  และ ในด้านการประมวลผลภาพ (Image Processing) จะสามารถที่จะพัฒนาเป็น ระบบที่นำรูปภาพทั้งรูปมาประมวลผล เช่น ซอฟต์แวร์ที่นำภาพใบของพืชมาตรวจหาโรคโดย ใช้การประมวลผลภาพรวมกับดาต้าไมนิ่ง ทั้งนี้ OpenCV ยังสามารถพัฒนาในด้านของ Machine Learning ได้อีกด้วย  
+
<br>
 +
* '''OpenCV''' หรือ Open Source Computer Vision เป็น Library สำหรับเขียนโปรแกรมหรือพัฒนาซอฟต์แวร์ให้สามารถประมวลผลภาพได้ ในทั้งนี้ในด้านธุรกิจและบริการที่จะสามารถมองเห็นภาพให้ชัดเจนได้เลยอาจจะยกตัวอย่างว่า ระบบตรวจจับใบหน้า (Face Detection)  และ ในด้านการประมวลผลภาพ (Image Processing) จะสามารถที่จะพัฒนาเป็น ระบบที่นำรูปภาพทั้งรูปมาประมวลผล เช่น ซอฟต์แวร์ที่นำภาพใบของพืชมาตรวจหาโรคโดย ใช้การประมวลผลภาพรวมกับดาต้าไมนิ่ง ทั้งนี้ OpenCV ยังสามารถพัฒนาในด้านของ Machine Learning ได้อีกด้วย  
 +
<br>
 +
== เริ่มต้นใช้งาน ==
 +
* [[ การติดตั้ง Installation ]]
 +
=== Gui Features in OpenCV ===
 +
*[[Getting Started with Images]]
 +
:เรียนรู้การโหลดภาพและบันทึกกลับ
 +
*[[Getting Started with Videos]]
 +
:เรียนการเล่นวีดีโอ การจับภาพจากกล้องถ่ายรูปและเขียนเป็นวีดีโอ
 +
*[[Drawing Functions in OpenCV]]
 +
:เรียนรู้การวาดเส้นสี่เหลี่ยม, วงรี, วงกลม ฯลฯ ด้วย OpenCV
 +
*[[Mouse as a Paint-Brush]]
 +
:เรียนรู้การใช้เมาส์วาด
 +
*[[Trackbar as the Color Palette]]
 +
:สร้าง trackbar เพื่อควบคุมพารามิเตอร์
 +
=== Object Detection ===
 +
* [[Face Detection]]
 +
<br>
 +
=== Core Operations ===
 +
* [[ Basic Operations on Images ]]
 +
:เรียนรู้การอ่านและแก้ไขค่าพิกเซล ด้วยการทำงานกับภาพ ROI และพื้นฐานกระบวนการอื่นๆ
 +
* [[ Arithmetic Operations on Images ]]
 +
:เรียนรู้หลักการทางคณิตศาสตร์มาใช้งานกับรูปภาพ
 +
* [[ Performance Measurement and Improvement Techniques ]]
 +
:เพิ่มความรวดเร็วและประสิทธิภาพให้กับซอฟต์แวร์ที่คุณพัฒนา
 +
<br>
 +
===Image Processing in OpenCV===
 +
*[[Changing Colorspaces]]
 +
:เรียนรู้ที่จะเปลี่ยนภาพ ช่องว่างระหว่างสีที่แตกต่าง เรียนรู้ที่จะติดตามวัตถุสีในวิดีโอ
 +
*[[Geometric Transformations of Images]]
 +
:เรียนรู้ที่จะใช้การแปลงทางเรขาคณิตที่แตกต่างกันไปเช่น การหมุนภาพ, การแปล ฯลฯ
 +
*[[Image Thresholding]]
 +
:เรียนรู้ที่จะแปลงภาพให้ภาพไบนารีใช้ thresholding
 +
*[[Smoothing Images]]
 +
:เรียนรู้ที่จะเบลอภาพ กรองภาพที่มีเมล็ดที่กำหนดเอง ฯลฯ
 +
*[[Morphological Transformations]]
 +
:เรียนรู้เกี่ยวกับการเปลี่ยนแปลงทางสัณฐานวิทยา
 +
*[[Image Gradients]]
 +
:เรียนรู้ที่จะหาภาพการไล่ระดับสีขอบ
 +
*[[Canny Edge Detection]]
 +
:เรียนรู้ที่จะหาขอบกับการตรวจหาขอบ
 +
*[[Image Pyramids]]
 +
:เรียนรู้เกี่ยวกับปิรามิดของภาพและวิธีการที่จะใช้สำหรับการผสมภาพ
 +
*[[Contours in OpenCV]]
 +
:ทุกอย่างเกี่ยวกับรูปทรงใน OpenCV
 +
*[[Histograms in OpenCV]]
 +
:ทุกอย่างเกี่ยวกับ histograms ใน OpenCV
 +
*[[Image Transforms in OpenCV]]
 +
:ภาพที่แตกต่างกันใน OpenCV เช่นแปลงฟูเรียโคไซน์แปลง ฯลฯ
 +
*[[Template Matching]]
 +
:เรียนรู้ที่จะค้นหาวัตถุในภาพโดยใช้แม่แบบการจับคู่
 +
*[[Hough Line Transform]]
 +
:เรียนรู้ที่จะตรวจสอบเส้นในภาพ
 +
*[[Hough Circle Transform]]
 +
:เรียนรู้ที่จะตรวจสอบวงกลมในภาพ
 +
*[[Image Segmentation with Watershed Algorithm]]
 +
:เรียนรู้ที่จับภาพส่วนที่มีการแบ่งส่วนลุ่มน้ำ
 +
*[[Interactive Foreground Extraction using GrabCut Algorithm]]
 +
:เรียนรู้ที่จะดึงหน้าด้วยวิธี GrabCut
 +
<br>
 +
=== Video Analysis ===
 +
*[[Meanshift and Camshift]]
 +
:เรียนรู้การติดตามแบบ color-based tracking โดยใช้ Meanshift และ Camshift
 +
*[[Optical Flow]]
 +
:เรียนรู้เกี่ยวกับแนวคิดเกี่ยวกับ "Optical Flow" ที่เกี่ยวกับ Video
 +
*[[Background Subtraction]]
 +
:เรียนรู้ในการแยก Foreground และ Background โดยการรู้จักวัตถุนั้นๆ
 +
<br>
 +
=== Camera Calibration and 3D Reconstruction ===
 +
*[[Camera Calibration]]
 +
:เรียนรู้ใช้งานกล้องที่ดีและการถ่ายด้วยมือ หากมีความเพี้ยนของภาพจะแก้อย่างไร
 +
*[[Pose Estimation]]
 +
:เรียนรู้เรื่องเล็กๆน้อยๆเกี่ยวกับการสร้างงาน 3 มิติกับโมดูล Calib
 +
*[[Epipolar Geometry]]
 +
:เรียนรู้และเข้าใจเรื่องเรณาคณิต Epipolar และข้อจำกัดของ Epipolar
 +
*[[Depth Map from Stereo Images]]
 +
:เรียนรู้เกี่ยวกับข้อมูลเชิงลึกของภาพ 2 มิติ
 +
=== Machine Learning ===
 +
*[[K-Nearest Neighbour]]
 +
:เรียนรู้ใช้งาน kNN สำหรับจำแนก Plus เกี่ยวกับการเขียนด้วยมือเปล่าโดยใช้ kNN
 +
*[[Support Vector Machines (SVM)]]
 +
:เข้าใจแนวคิดของ SVM
 +
*[[K-Means Clustering]]
 +
:เรียนรู้เกี่ยวกับการใช้ K-Means Clustering เพื่อหากลุ่มของตัวเลขของ Clusters และเรียนรู้การทำ Quantization Color โดยใช้ K-Means Clustering
  
== การติดตั้ง Installation ==
+
=== อ้างอิง ===
 +
[[http://www.opencv.org OpenCV.org]]

รุ่นแก้ไขปัจจุบันเมื่อ 03:30, 11 สิงหาคม 2559

How OpenCV Work on Linux with Python Language.

OpenCV

What IS CV?

  • CV ย่อมากจากคำว่า Computer Vision คือ การนำเทคโนโยลีสารสนเทศต่างๆ ทั้ง ภาพ และ วิดีโอ มาประมวลผลโดยนำหลักการทางคณิตศาสตร์เข้ามาช่วยในการพัฒนา


  • OpenCV หรือ Open Source Computer Vision เป็น Library สำหรับเขียนโปรแกรมหรือพัฒนาซอฟต์แวร์ให้สามารถประมวลผลภาพได้ ในทั้งนี้ในด้านธุรกิจและบริการที่จะสามารถมองเห็นภาพให้ชัดเจนได้เลยอาจจะยกตัวอย่างว่า ระบบตรวจจับใบหน้า (Face Detection) และ ในด้านการประมวลผลภาพ (Image Processing) จะสามารถที่จะพัฒนาเป็น ระบบที่นำรูปภาพทั้งรูปมาประมวลผล เช่น ซอฟต์แวร์ที่นำภาพใบของพืชมาตรวจหาโรคโดย ใช้การประมวลผลภาพรวมกับดาต้าไมนิ่ง ทั้งนี้ OpenCV ยังสามารถพัฒนาในด้านของ Machine Learning ได้อีกด้วย


เริ่มต้นใช้งาน

Gui Features in OpenCV

เรียนรู้การโหลดภาพและบันทึกกลับ
เรียนการเล่นวีดีโอ การจับภาพจากกล้องถ่ายรูปและเขียนเป็นวีดีโอ
เรียนรู้การวาดเส้นสี่เหลี่ยม, วงรี, วงกลม ฯลฯ ด้วย OpenCV
เรียนรู้การใช้เมาส์วาด
สร้าง trackbar เพื่อควบคุมพารามิเตอร์

Object Detection


Core Operations

เรียนรู้การอ่านและแก้ไขค่าพิกเซล ด้วยการทำงานกับภาพ ROI และพื้นฐานกระบวนการอื่นๆ
เรียนรู้หลักการทางคณิตศาสตร์มาใช้งานกับรูปภาพ
เพิ่มความรวดเร็วและประสิทธิภาพให้กับซอฟต์แวร์ที่คุณพัฒนา


Image Processing in OpenCV

เรียนรู้ที่จะเปลี่ยนภาพ ช่องว่างระหว่างสีที่แตกต่าง เรียนรู้ที่จะติดตามวัตถุสีในวิดีโอ
เรียนรู้ที่จะใช้การแปลงทางเรขาคณิตที่แตกต่างกันไปเช่น การหมุนภาพ, การแปล ฯลฯ
เรียนรู้ที่จะแปลงภาพให้ภาพไบนารีใช้ thresholding
เรียนรู้ที่จะเบลอภาพ กรองภาพที่มีเมล็ดที่กำหนดเอง ฯลฯ
เรียนรู้เกี่ยวกับการเปลี่ยนแปลงทางสัณฐานวิทยา
เรียนรู้ที่จะหาภาพการไล่ระดับสีขอบ
เรียนรู้ที่จะหาขอบกับการตรวจหาขอบ
เรียนรู้เกี่ยวกับปิรามิดของภาพและวิธีการที่จะใช้สำหรับการผสมภาพ
ทุกอย่างเกี่ยวกับรูปทรงใน OpenCV
ทุกอย่างเกี่ยวกับ histograms ใน OpenCV
ภาพที่แตกต่างกันใน OpenCV เช่นแปลงฟูเรียโคไซน์แปลง ฯลฯ
เรียนรู้ที่จะค้นหาวัตถุในภาพโดยใช้แม่แบบการจับคู่
เรียนรู้ที่จะตรวจสอบเส้นในภาพ
เรียนรู้ที่จะตรวจสอบวงกลมในภาพ
เรียนรู้ที่จับภาพส่วนที่มีการแบ่งส่วนลุ่มน้ำ
เรียนรู้ที่จะดึงหน้าด้วยวิธี GrabCut


Video Analysis

เรียนรู้การติดตามแบบ color-based tracking โดยใช้ Meanshift และ Camshift
เรียนรู้เกี่ยวกับแนวคิดเกี่ยวกับ "Optical Flow" ที่เกี่ยวกับ Video
เรียนรู้ในการแยก Foreground และ Background โดยการรู้จักวัตถุนั้นๆ


Camera Calibration and 3D Reconstruction

เรียนรู้ใช้งานกล้องที่ดีและการถ่ายด้วยมือ หากมีความเพี้ยนของภาพจะแก้อย่างไร
เรียนรู้เรื่องเล็กๆน้อยๆเกี่ยวกับการสร้างงาน 3 มิติกับโมดูล Calib
เรียนรู้และเข้าใจเรื่องเรณาคณิต Epipolar และข้อจำกัดของ Epipolar
เรียนรู้เกี่ยวกับข้อมูลเชิงลึกของภาพ 2 มิติ

Machine Learning

เรียนรู้ใช้งาน kNN สำหรับจำแนก Plus เกี่ยวกับการเขียนด้วยมือเปล่าโดยใช้ kNN
เข้าใจแนวคิดของ SVM
เรียนรู้เกี่ยวกับการใช้ K-Means Clustering เพื่อหากลุ่มของตัวเลขของ Clusters และเรียนรู้การทำ Quantization Color โดยใช้ K-Means Clustering

อ้างอิง

[OpenCV.org]