2020年4月9日 星期四

1051728 影像處理作業 2

Thresholding and Edge Detection

二值化與邊緣值偵測


題目:
撰寫一個程式,讀取作業所附 2 張測試圖片,並依據以下步驟完成
1. 設計一個二值化方法將其轉變成黑白圖像
2. 繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)

補充說明:
圖片用灰階模式讀取即可,也可以讀取全彩圖像自己處理
imread("檔名", 0); // CV_LOAD_IMAGE_GRAYSCALE
請考量讓所有 QR code 正方形模組邊框完整呈現,並分別呈現兩階段結果
1. 二值化
2. 邊緣偵測

作業環境:
1. Windows10
2. Visual Studio 2017
3. OpenCV 3.4.3

實作:
1. 用imread()讀取圖片
2. 用clone()複製一份圖片以免原始資料被覆蓋
3. 用threshold()將圖片二值化
4. 用sobel()和convertScaleAbs()求取 x 方向和 y 方向的梯度
5. 利用add()和convertScaleAbs()求取總梯度
6. 利用imwrite()儲存圖片

執行結果:
Figure2_1.jpg

原圖                                         二值化後                                邊緣偵測後



Figure2_2.jpg

原圖                                         二值化後                                  邊緣偵測後

2020年4月8日 星期三

1063509 影像處理作業 2

1.題目
撰寫一個程式,讀取作業所附2張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出QR code黑色模組的外框(利用Sobel Operators偵測即可)


2.環境
作業系統:MAC
JupterLab1.2.6
OpenCV 4.2.0
python

3.
使用imread(“檔名”,0)
threshold()用來轉顏色白階的部分但是有很多的不同型態
sobel哪來轉黑街
4.執行
Fig2_1原圖Fig2_2原圖

Fig2_1白色圖Fig2_2白色圖
Fig2_1黑圖Fig2_2黑圖



1051427 影像處理作業 2

1.題目
撰寫一個程式,讀取作業所附2張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出QR code黑色模組的外框(利用Sobel Operators偵測即可)
2.環境
作業系統:Windows 10
平台與工具visual studio 2019 + openCV 3.4.8
執行結果

3.readme
內建默認檔名為Fig2_1.jpg與Fig2_2.jpg
開始後會詢問要讀2_1還是2_2 選一個即可
開啟並讀取圖片後會自動開啟原圖檔和另外兩個帶有tracebar的視窗
分別是:
二值化的顯示與調整,可調整二值化的方法與量值
sobel運算的顯示與調整,可調整亮度與scaling

1051335 影像處理作業 2

二值化與邊緣偵測 Thresholding and Edge Detection

1.題目
撰寫一個程式,讀取作業所附2張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出QR code黑色模組的外框(利用Sobel Operators偵測即可)

2.環境
作業系統:Windows 10
程式語言Python 3.8.2
使用套件: OpenCV-python 1.18.2
開發工具:Visual Studio Code 1.43.2

 
3.實作
使用
imread(“檔名”,0)以灰階模式讀檔
使用threshold進行二值化,像素的域值設為100,若該像素超過100即設為255,反之則設為0
使用sobel進行邊緣偵測,對二值化過後的檔案執行sobel演算法

4.執行


Fig2_1原圖


















Fig2_1進行二值化


















Fig2_1進行邊緣偵測

 


Fig2_2原圖

 


 Fig2_2進行二值化

 


Fig2_2進行邊緣偵測

 

1051532 影像處理作業 2

二值化與邊緣偵測 
一、作業說明
撰寫一個程式,讀取作業所附 2 張測試圖片,(1)設計一個二值化方法將其轉變成黑白
圖像後,(2)繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)
二、作業環境
  • OS:Windows 10
  • Visual Studio 2017+OpenCV3.4.0 Debug x64
三、操作步驟
  1. 利用cin輸入檔名
  2. 利用imread()灰階模式讀入圖片
  3. 使用threshold()進行二值化
  4. 使用Sobel()進行Sobel運算
  5. 輸出二值化圖片及邊緣偵測結果
四、執行結果









1052420 影像處理作業2

一、作業題目:

撰寫一個程式,讀取作業所附 2 張測試圖片,(1)設計一個二值化方法將其轉變成黑白 圖像後,(2)繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)。


二、使用環境:


   1. windows 10
    2. pyCharm
    3. opencv-python 4.2.0.32
    4. python 3.6
    5. numpy 1.18.1
    6. pip 20.0.2
    7. setuptools 46.0.0

三、實作方法:


    1.用imread以cvtColor轉換灰階模式讀取圖片
    2.使用threshold來二值化
  3.使用Canny來做邊緣預測
    4.因圖片過大,用namedWindow來調整大小並用imshow輸出結果

四、成果:



1063330 影像處理作業2


一、作業說明:
撰寫一個程式,讀取作業所附2張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出QR code黑色模組的外框(可利用Sobel Operators偵測即可)

二、環境設置:
Python 3.7
opencv 4.2.0

三、實作方式:
1.imread用灰階模式讀取圖片
2.threshold:二值化
3.Canny:邊緣處理
四、執行結果:
Fig2_1

Fig2_2


1053326 影像處理作業2


一、   作業說明

二值化與 邊緣偵測 Thres h olding and Edge Detection 撰寫一個程式,讀取 作業所附 2 張測試圖片, 1 設計一個二值化方法 將其轉變成黑白 圖像後, 2 繪出 QR code 黑色模組的外框 利用 Sobel Operators 偵測即可

二、   作業環境
OS:Windows 10
Visual Studio 2017+OpenCV3.4.1 Debug x64

三、   操作步驟
1.      image = imread(“img.jpg”, 0) 將讀入的圖片轉灰階
2.      threshold將圖片轉二值化
threshold( 原圖, 新圖, 閥值, 超過臨界值時轉成此值, 取閾值型別 )
3.      Canny做邊緣檢測
Canny(原圖, 新圖, 閥值1, 閥值2)
低於閥值1的不是邊緣
高於閥值2的是邊緣
在閥值1~2之間的像素點若在邊緣附近則被認為是邊緣,否則不是

四、   執行結果
原圖1



















邊緣檢測1



















二值化1



















原圖2



















邊緣檢測2




















二值化2






1053344 影像處理作業2

題目

二值化與邊緣偵測 Thresholding and Edge Detection
撰寫一個程式,讀取作業所附 2 張測試圖片,(1)設計一個二值化方法將其轉變成黑白
圖像後,(2)繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)。

環境
作業系統:Windows 10
程式語言:C++ 
使用套件:OpenCV
開發工具VS2017

實作
用Imread讀灰階圖片,用threshold把圖片二值化,用Sobel抓X和Y的邊緣,再用addWeighted合併兩張圖。

執行結果

圖片一


圖片二

1061453 影像處理作業2

作業說明
 撰寫一個程式,讀取作業所附 2 張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出 QR code 黑色模組的外框(可利用 Sobel Operators 偵測即可)

環境
 1.Visual Studio 2017
 2.opencv 3.4.1

實作方法
1.imread用灰階模式讀圖
2.利用threshold並調整數後將圖片二值化
3.用Canny進行邊緣偵測
4.namedWindows創建新視窗
5.imshow輸出圖片到視窗上

執行結果:
圖片左邊皆為原圖,右邊為執行結果
二值化圖1及圖2: