日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字图像的5种增强处理

發(fā)布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字图像的5种增强处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


數(shù)字圖像的5種增強處理

?

?

?#include<iostream>
#include<cmath>
using namespace std;
int main()
{
?int i,j,n,m,w,a[100][100],x[100][100],max[100][100][20],b[100][100],k,p,u;
?cout<<"輸入矩陣行列數(shù):";
?cin>>n>>m;
?cout<<"輸入原圖像的亮度矩陣"<<endl;
?for(i=1;i<=n;i++)
?{
??for(j=1;j<=m;j++)
??{
???cin>>a[i][j];
??}
?}
?do
?{
??cout<<"選擇1:羅伯特梯度銳化?? 2:索伯爾梯度銳化?? 3:均值平滑?? 4:拉普拉斯銳化?? 5:中值濾波?? 6:結(jié)束"<<endl;
??? ?cin>>w;
???? if(w==1)
??{
???for(i=1;i<n;i++)
???{
????for(j=1;j<m;j++)
????{
?????x[i][j]=abs(a[i][j]-a[i+1][j+1])+abs(a[i+1][j]-a[i][j+1]);
????}
???}
???for(j=1;j<m;j++)
???{
????x[n][j]=2*abs(a[n][j]-a[n][j+1]);
???}
???for(i=1;i<n;i++)
???{
????x[i][m]=2*abs(a[i][m]-a[i+1][m]);
???}
???x[n][m]=0;
???for(i=1;i<=n;i++)
???{
????for(j=1;j<=m;j++)
????{
?????cout<<"? "<<x[i][j];
????}
????cout<<endl;
???}
??}
??if(w==2)
??{
???for(i=2;i<n;i++)
???{
????for(j=2;j<m;j++)
????{
?????x[i][j]=abs(a[i-1][j-1]+2*a[i-1][j]+a[i-1][j+1]-a[i+1][j-1]-2*a[i+1][j]-a[i+1][j+1])+abs(a[i-1][j+1]+2*a[i][j+1]+a[i+1][j+1]-a[i-1][j-1]-2*a[i][j-1]-a[i+1][j-1]);
????}
???}
???x[1][1]=abs(3*a[1][1]-3*a[2][1]+a[1][2]-a[2][2])+abs(3*a[1][2]-3*a[1][1]+a[2][2]-a[2][1]);
????? x[1][m]=abs(a[1][m-1]+3*a[1][m]-a[2][m-1]-3*a[2][m])+abs(3*a[1][m]+a[2][m]-a[1][m-1]-3*a[2][m-1]);
????? x[n][1]=abs(3*a[n-1][1]+a[n-1][2]-3*a[n][1]-a[n][2])+abs(a[n-1][2]+3*a[n][2]-a[n-1][1]-3*a[n][1]);
????? x[n][m]=abs(a[n-1][m-1]+3*a[n-1][m]-a[n][m-1]-3*a[n][m])+abs(a[n-1][m]+3*a[n][m]-a[n-1][m-1]-3*a[n][m-1]);
???for(j=2;j<m;j++)
???{
????x[1][j]=abs(a[1][j-1]+2*a[1][j]+a[1][j+1]-a[2][j-1]-2*a[2][j]-a[2][j+1])+abs(3*a[1][j+1]+a[2][j+1]-3*a[1][j-1]-a[2][j-1]);
?????? x[n][j]=abs(a[n-1][j-1]+2*a[n-1][j]+a[n-1][j+1]-a[n][j-1]-2*a[n][j]-a[n][j+1])+abs(a[n-1][j+1]+3*a[n][j+1]-a[n-1][j-1]-3*a[n][j-1]);
???}
???for(i=2;i<n;i++)
???{
????x[i][1]=abs(3*a[i-1][m-1]+a[i-1][2]-3*a[i+1][1]-a[i+1][2])+abs(a[i-1][2]+2*a[i][2]+a[i+1][2]-a[i-1][1]-2*a[i][1]-a[i+1][1]);
?????? x[i][m]=abs(a[i-1][m-1]+3*a[i-1][m]-a[i+1][m-1]-3*a[i+1][m])+abs(a[i-1][m]+2*a[i][m]+a[i+1][m]-a[i-1][m-1]-2*a[i][m-1]-a[i+1][m-1]);
???}?
???for(i=1;i<=n;i++)
???{
????for(j=1;j<=m;j++)
????{
?????cout<<"? "<<x[i][j];
????}
????cout<<endl;
???}
??}
??if(w==3)
??{
???for(i=2;i<n;i++)
???{
????for(j=2;j<m;j++)
????{
?????x[i][j]=(a[i-1][j-1]+a[i-1][j]+a[i-1][j+1]+a[i][j-1]+a[i][j]+a[i][j+1]+a[i+1][j-1]+a[i+1][j-1]+a[i+1][j]+a[i+1][j+1])/9;
????}
???}
???x[1][1]=(4*a[1][1]+2*a[1][2]+2*a[2][1]+a[2][2])/9;
????? x[1][m]=(4*a[1][m]+2*a[1][m-1]+2*a[2][m]+a[2][m-1])/9;
????? x[n][1]=(4*a[n][1]+2*a[n][2]+2*a[n-1][1]+a[n-1][2])/9;
????? x[n][m]=(4*a[n][m]+2*a[n-1][m]+2*a[n][m-1]+a[n-1][m-1])/9;
???for(j=2;j<m;j++)
???{
????x[1][j]=(2*a[1][j-1]+2*a[1][j]+2*a[1][j+1]+a[2][j-1]+a[2][j]+a[2][j+1])/9;
?????? x[n][j]=(2*a[n][j-1]+2*a[n][j]+2*a[n][j+1]+a[n-1][j-1]+a[n-1][j]+a[n-1][j+1])/9;
???}
???for(i=2;i<n;i++)
???{
????x[i][1]=(2*a[i-1][1]+2*a[i][1]+2*a[i+1][1]+a[i-1][2]+a[i][2]+a[i+1][2])/9;
?????? x[i][m]=(2*a[i-1][m]+2*a[i][m]+2*a[i+1][m]+a[i-1][m-1]+a[i][m-1]+a[i+1][m-1])/9;
???}
???for(i=1;i<=n;i++)
???{
????for(j=1;j<=m;j++)
????{
?????cout<<"? "<<x[i][j];
????}
????cout<<endl;
???}
??}
??if(w==4)
??{
???for(i=2;i<n;i++)
???{
????for(j=2;j<m;j++)
????{
?????x[i][j]=a[i][j-1]+a[i][j+1]+a[i-1][j]+a[i+1][j]-4*a[i][j];
????}
???}
???x[1][1]=a[1][2]+a[2][1]-2*a[1][1];
???????? x[1][m]=a[1][m-1]+a[2][m]-2*a[1][m];
???????? x[n][1]=a[n-1][1]+a[n][2]-2*a[n][1];
???????? x[n][m]=a[n-1][m]+a[n][m-1]-2*a[n][m];
???for(j=2;j<m;j++)
???{
????x[1][j]=a[1][j-1]+a[1][j+1]+a[2][j]-3*a[1][j];
????????? x[n][j]=a[n][j-1]+a[n][j+1]+a[n-1][j]-3*a[n][j];
????????? x[j][1]=a[j-1][1]+a[j+1][1]+a[j][2]-3*a[j][1];
????????? x[j][m]=a[j-1][m]+a[j+1][m]+a[j][m-1]-3*a[j][m];
???}
???cout<<"上述數(shù)據(jù)后經(jīng)過銳化后得到的數(shù)據(jù)為以下矩陣:"<<endl<<endl;
???????? for(i=1;i<=n;i++)
???{
????for(j=1;j<=m;j++)
????{
?????if(abs(x[i][j]<10))
?????{
??????cout<<"?? "<<abs(x[i][j]);
?????}
?????else if(abs(x[i][j]<100))
?????{
??????cout<<"? "<<abs(x[i][j]);
?????}
?????else if(abs(x[i][j]<1000))
?????{
??????cout<<" "<<abs(x[i][j]);
?????}
????}
????cout<<endl;
???}
??}
??if(w==5)
??{
???for(k=1;k<=n;k++)
???{
????a[k][0]=a[k][1];
????a[k][m+1]=a[k][m];
???}
???for(k=1;k<=m;k++)
???{
????a[0][k]=a[1][k];
????a[n+1][k]=a[n][k];
???}
???a[0][0]=a[1][1];
???a[0][m+1]=a[1][m];
???a[n+1][0]=a[n][1];
???a[n+1][m+1]=a[n][m];
???for(i=0;i<=n-1;i++)
???{
????for(j=0;j<=m-1;j++)
????{
?????for(k=1;k<=5;k++)
?????{
??????max[i+1][j+1][k]=0;
??????for(p=i;p<=i+2;p++)
??????{
???????for(u=j;u<=j+2;u++)
???????{
????????max[i+1][j+1][k]=(a[p][u]>=max[i+1][j+1][k])?a[p][u]:max[i+1][j+1][k];
???????}
??????}
??????if(k<=4)
??????{
???????for(p=i;p<=i+2;p++)
???????{
????????for(u=j;u<=j+2;u++)
????????{
?????????if(max[i+1][j+1][k]==a[p][u])
?????????{
??????????b[p][u]=a[p][u];
??????????a[p][u]=0;
??????????break;
?????????}
????????}
????????if(a[p][u]==0)
????????{
?????????break;
????????}
???????}
??????}
??????if(k==5)
??????{
???????x[i+1][j+1]=max[i+1][j+1][k];
??????}
?????}
?????for(k=1;k<=5;k++)
?????{
??????for(p=i;p<=i+2;p++)
??????{
???????for(u=j;u<=j+2;u++)
???????{
????????if(max[i+1][j+1][k]==b[p][u])
????????{
?????????a[p][u]=max[i+1][j+1][k];???????????????????????????? //數(shù)據(jù)的恢復(fù)
????????}
???????}
??????}
?????}
????}
???}
???cout<<"中值濾波后的新圖像亮度矩陣為:"<<endl;
???for(i=1;i<=n;i++)
???{
????for(j=1;j<=m;j++)
????{
?????cout<<"? "<<x[i][j];
????}
????cout<<endl;
???}
??}
?}
?while(w!=6);
?return 0;
}
?

轉(zhuǎn)載于:https://www.cnblogs.com/zzkgis/p/3742621.html

總結(jié)

以上是生活随笔為你收集整理的数字图像的5种增强处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。