在Matlab中将一幅图片的中心设置为x-y轴坐标原点
生活随笔
收集整理的這篇文章主要介紹了
在Matlab中将一幅图片的中心设置为x-y轴坐标原点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
????????我們知道,一幅圖像由許許多多的像素組成,這些像素可以理解為一個矩陣(假設該矩陣為img)中的元素。但是在matlab中索引是從1開始,并且坐標原點位于左上角,這里我們將此時的坐標軸記為i-j坐標軸。使用img(i,j)表示其中的任何一個像素。
??????? 也許我們會覺得這樣也挺好呀,對圖像操作沒有什么問題。但是我們要想遍歷整個圖片進行一些操作的時候,我們需要兩個for循環。對于matlab而言,運行for循環會大大降低程序的運行效率。。同時,我們在做圖像重建的時候,經常要用到坐標原點位于圖像中心的x-y坐標軸(重建算法的公式中常用x-y坐標以及極坐標),這樣比使用i-j坐標軸省去很多麻煩,能更好的還原算法的推導過程。
roi=N*[-0.5 0.5 -0.5 0.5];%設置感興趣區域,N為圖片的大小 hx=(roi(2)-roi(1))/(N-1);%roi(1)和roi(2)表示圖片在x軸上的最小值和最大值 hy=(roi(4)-roi(3))/(N-1);%roi(3)和roi(4)表示圖片在y軸上的最小值和最大值 xrange=roi(1)+hx*[0:N-1]; yrange=flipud((roi(3)+hy*[0:N-1])'); x=ones(N,1)*xrange;%x坐標 y=yrange*ones(1,N);%y坐標??????? 通過上述代碼,就可以將一幅圖片使用x-y坐標進行表示,我們在對每個像素繼續操作時(一般都是使用點乘等),可以對所有的像素同時進行,代替了兩個for循環,在一定程度上提高了代碼的運行效率。例如求圖像中的每一個像素距離圖像中心的距離:r=sqrt(x.^2+y.^2),這個計算結果是一個256*256的矩陣,也就是我們所求的每一個像素到圖像中心的距離。
總結
以上是生活随笔為你收集整理的在Matlab中将一幅图片的中心设置为x-y轴坐标原点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5G NR UE 状态转换
- 下一篇: login登录页面 html,login