免費開始練習
普考申論題 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 專屬家教

【解題思路】 本題考查二維陣列操作與影像處理基礎(均值濾波)。

  1. 宣告雙陣列:使用兩個二維陣列分別儲存「原始影像」與「模糊化後的影像」。
▼ 還有更多解析內容

升級 VIP 解鎖