普考申論題
114年
[資訊處理] 程式設計概要
第 一 題
給定nxm(n行m列)影像的各像素灰度值,灰度值為0至255之間
的整數(包含0和255),像素的相鄰性是指當前像素與周邊像素的鄰接
性質,八鄰域(eight neighbors)包括對應當前像素位置的上、下、左、
右、左上、右上、左下、右下像素位置,換言之,為原像素及其上下左
右與對角線相鄰八個像素位置,如下圖所示:
218
3P 7
456
當對此影像進行降低雜訊的模糊化處理時:1.影像四周最外側的像素灰
度值不變;2.影像中間各像素新灰度值由原像素及其八鄰域像素原灰度
值的平均值(捨入到最接近的整數)取代原像素值。輸入資料第一行包
含兩個整數 n和 m,表示影像中像素點的行數和列數,1<=n<= 100,
1<=m<= 100,接下來n行,每行m個整數,表示影像中每個像素灰度
值。相鄰兩個整數之間用單個空格隔開,每個元素均在0~255之間。例
如一個5x6 影像及其各像素灰度值如下所示:
56
100 0 120 0 50 70
50 110 200 0 0 180
70 50 100 120 200 0
150 120 50 50 100 10
10 110 0 50 120 30
請使用 Java 或C++實作一完整程式,讀入一個影像行數、列數和像素灰
度值,並使用八鄰域像素灰度值對影像進行降低雜訊的模糊化處理,再
輸出模糊化後影像。(20分)
📝 此題為申論題
思路引導 VIP
面對此類影像平滑化處理題,首先要想到「二維陣列的拷貝與遍歷」。重點有二:一是必須準備兩個陣列(原影像與新影像),避免計算過程中新值覆蓋舊值而導致後續計算錯誤;二是精準控制迴圈範圍,外圍像素保持不變,內部像素透過 3x3 的雙層迴圈計算總和,最後以浮點除法求平均並進行四捨五入。
🤖
AI 詳解
AI 專屬家教
【解題思路】 本題考查二維陣列操作與影像處理基礎(均值濾波)。
- 宣告雙陣列:使用兩個二維陣列分別儲存「原始影像」與「模糊化後的影像」。
▼ 還有更多解析內容