首先大家看看下面這個3 x 3的矩陣,這個矩陣被分割成4部分。為什麼分割成4部分,在後面詳細說明。
首先給大家舉個簡單的例子:現設點p0(x0, y0)進行平移後,移到p(x,y),其中x方向的平移量為△x,y方向的平移量為△y,那麼,點p(x,y)的座標為:
x = x0 + △x
y = y0 + △y
採用矩陣表達上述如下:
上述也類似與影象的平移,通過上述矩陣我們發現,只需要修改矩陣右上角的2個元素就可以了。
我們回頭看上述矩陣的劃分:
為了驗證上面的功能劃分,我們舉個具體的例子:現設點p0(x0 ,y0)進行平移後,移到p(x,y),其中x放大a倍,y放大b倍,
矩陣就是:
影象的旋轉稍微複雜:現設點p0(x0, y0)旋轉θ角後的對有點為p(x, y)。通過使用向量,我們得到如下:
x0 = r cosα
y0 = r sinα
x = r cos(α-θ) = x0 cosθ+ y0 sinθ
y = r sia(α-θ) = -x0 sinθ+y0 cosθ
於是我們得到矩陣:
如果影象圍繞著某個點(a ,b)旋轉呢?則先要將座標平移到該點,再進行旋轉,然後將旋轉後的影象平移回到原來的座標原點。
RabbitMQ RabbitMQ的一些基礎概念
工作中使用的是rabbitmq,需要對其進行熟悉。使用之前,弄清楚它是什麼東西,解決什麼問題。開發中,有一些任務並無須實時執行,比如 如上,儲存日誌表 傳送郵件等任務的實時性並不強,在系統繁忙時有可能阻塞,堵塞容易導致任務失敗。如果我們把它們放入佇列中,輪候執行,減低耦合的同時,是不是也緩解了系統壓...
深度學習學習 pytorch的一些必備的基礎概念
pytorch必須掌握的的4種學習率衰減策略 一般來說,我們希望在訓練初期學習率大一些,使得網路收斂迅速,在訓練後期學習率小一些,使得網路更好的收斂到最優解。下圖展示了隨著迭代的進行動態調整學習率的4種策略曲線 torch 解析 為什麼要使用optimizer.zero grad pytorch m...
Android的一些詞彙
1 override override是偽 表示重寫 當然不寫也可以 不過寫上有如下好處 1 可以當注釋用,方便閱讀 2 編譯器可以給你驗證 override下面的方法名是否是你父類中所有的,如果沒有則報錯 比如你如果沒寫 override而你下面的方法名又寫錯了,這時你的編譯器是可以通過的 它以為...