#include <iostream>
#include <vector>
using namespace std;
/*
5 6 3 3
1 1 1 1 1 1
1 2 2 2 2 1
2 3 3 1 2 2
1 2 2 3 4 5
5 6 6 6 3 4
1 10 1
1 20 1
1 8 1
*/
//圖像卷積
int** CNN(int** image, int M, int N, int** kernel, int K, int L)
{
int** cnn = new int* [M];
int w = L / 2;
int h = K / 2;
for (int i = 1; i <= M; i++)
{
cnn[i - 1] = new int[N];
for (int j = 1; j <= N; j++)
{
cnn[i - 1][j - 1] = 0;
int beginRow = i - w;
int beginCol = j - h;
for (int x = beginRow; x <= i + w; x++)
{
for (int y = beginCol; y <= j + h; y++)
{
cnn[i - 1][j - 1] += image[x][y] * kernel[x - beginRow][y - beginCol];
}
}
if (cnn[i - 1][j - 1] < 0)
{
cnn[i - 1][j - 1] = 0;
}
else if (cnn[i - 1][j - 1] > 255)
{
cnn[i - 1][j - 1] = 255;
}
}
}
return cnn;
}
int main(int argc, char** argv)
{
int M, N, K, L;
cin >> M >> N >> K >> L;
int w = L / 2; //邊界的寬度
int h = K / 2; //邊界的高度
int imageRow = M + 2 * h; //擴充后的高度
int imageCol = N + 2 * w; //擴充后的寬度
int** image = new int* [imageRow]; //圖像
for (int i = 0; i < imageRow; i++)
{
image[i] = new int[imageCol];
for (int j = 0; j < imageCol; j++)
{
if (i < w || j < h || i > imageRow - w - 1 || j > imageCol - h - 1)
{
image[i][j] = 0;
}
else
{
cin >> image[i][j];
}
}
}
int** kernel = new int* [K];
for (int i = 0; i < K; i++)
{
kernel[i] = new int[L];
for (int j = 0; j < L; j++)
{
cin >> kernel[i][j];
}
}
//卷積
int** cnn = CNN(image, M, N, kernel, K, L);
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
cout << cnn[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < M; i++)
{
delete[] image[i];
}
delete[] image;
for (int i = 0; i < K; i++)
{
delete[] kernel[i];
}
delete[] kernel;
for (int i = 0; i < M; i++)
{
delete[] cnn[i];
}
delete[] cnn;
return 0;
}
C++實現(xiàn)卷積運算
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門赊琳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人音婶,你說我怎么就攤上這事慨畸。” “怎么了衣式?”我有些...
- 文/不壞的土叔 我叫張陵寸士,是天一觀的道長檐什。 經(jīng)常有香客問我,道長弱卡,這世上最難降的妖魔是什么乃正? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮婶博,結(jié)果婚禮上瓮具,老公的妹妹穿的比我還像新娘。我一直安慰自己凡人,他們只是感情好名党,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挠轴,像睡著了一般传睹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上岸晦,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼讥邻!你這毒婦竟也來了迫靖?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布毛好,位于F島的核電站,受9級特大地震影響苛秕,放射性物質(zhì)發(fā)生泄漏肌访。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一艇劫、第九天 我趴在偏房一處隱蔽的房頂上張望吼驶。 院中可真熱鬧,春花似錦店煞、人聲如沸蟹演。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽酒请。三九已至,卻和暖如春衩椒,著一層夾襖步出監(jiān)牢的瞬間蚌父,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 1.前言 我們知道分扎,卷積核(也叫濾波器矩陣)在卷積神經(jīng)網(wǎng)絡(luò)中具有非常重要的作用。說白了吹榴,CNN主要作用在于提取圖像...
- yolo卷積源碼解讀找了好久,但網(wǎng)上好多的解讀,有點誤人子弟,之前還找到一片注釋寫的比源代碼還多幾倍的,以為我就這...
- 本文轉(zhuǎn)自本人csdn本文地址卷積是一種線性運算亭敢,是很多普通圖像處理操作的基本算法之一。它提供了兩個數(shù)組相乘的方式图筹,...
- 深度學(xué)習(xí)之卷積層運算矩陣化實現(xiàn) 1帅刀、卷積層的基本運算是卷積核組和輸入特征圖的局部區(qū)域做內(nèi)積,即把卷積核組和輸入特征...
- 最后一次更新日期: 2019/3/21 此篇文章提供一個將scipy庫的稀疏矩陣運用于卷積運算上远剩,以期在不增加過多...