Time of Update: 2018-12-03
分而治之(Divide and conquer) Divide and conquer(分治法)的基本思想是把一個大問題分解成若干個小問題,把小問題逐個擊破後組合起來,得出結果。演算法步驟如下: (1) Divide: 按一定預設條件把問題分解為若干。 (2) Conquer: 解決每個子問題(通常是遞迴) (3) Combine: 各子問題的組合 下面舉幾個例子說明找金幣
Time of Update: 2018-12-03
上篇複習了空間,映射和變換的概念。接下來介紹幾種影像處理中常見的仿射,雙線性,透視。下面僅討論二維的情況。 仿射(affine) 仿射變換是一個線性變換,變換後保持圖形的平直性(直線還是直線),平行性(平行線變換後還是平行)。仿射變換通過一系列原子變換實現:平移(translation),縮放(scale),翻轉(flip),旋轉(rotation), 錯切扭曲(sheer)。仿射實際上是在仿射空間中進行,而不是向量空間。仿射空間中的點表示為一個基準點與一個向量的和,
Time of Update: 2018-12-03
msdn上的解析CWnd::SubclassWindowBOOL SubclassWindow( HWND hWnd );Return ValueNonzero if the function is successful; otherwise 0.ParametershWndA handle to the window.RemarksCall this member function to "dynamically subclass" a window and attach it to
Time of Update: 2018-12-03
Brief
Time of Update: 2018-12-03
影像處理之調整亮度與對比 很多時候,一張映像被過度曝光顯得很白,或者光線不足顯得很暗,有時候背景跟映像人物也觀察不清楚,這個時候可以通過調節映像的兩個基本屬性-亮度與對比來獲得整體效果的提升,從而得到品質更高的圖片。 基本原理:映像亮度本質像中每個像素的亮度,每個像素的亮度本質上RGB值的大小,RGB值為0是像素點為黑色,RGB都為255時像素點最亮,為白色。對比則是不同像素點之間的差值,差值越大,對比越明顯。從長條圖分析的觀點來看,對比越好的圖片,長條圖曲線會越明顯,分布也越顯得均勻。 演算法
Time of Update: 2018-12-03
對顏色/亮度的感知: 人類對光的感知是依靠視網膜(retina)細胞。cones(圓錐細胞)負責感知光度(較強光)和色彩, rods(杆狀細胞)僅能感知光度,不能感知顏色,但其對光的敏感度是cones的一萬倍。在微軟光環境下rods起主要作用,因此我們不能在暗環境中分辨顏色。一些數位相機的夜光拍攝模式也類比了這一特性。視網膜中三種圓錐細胞(cones) 有重疊的頻率響應曲線,但響應強度有所不同,他們 分別對紅(570nm), 綠(535nm),
Time of Update: 2018-12-03
題意:給你一個01組成的矩形,問能否經過交換,變成每行1相同或者每列1相同或者每行列1相同,相應輸出row, column, both和最小交換數。解:這題的貪心真是神,行和列分開來做,貪心的思路也很神。#include<stdio.h>#include<string.h>#include<math.h>#include<map>#include<string>#include<vector>#include<set&
Time of Update: 2018-12-03
高斯模糊是一種兩維的卷積模糊操作,在映像完成高斯模糊相對於均值模糊來說,計算量會增加,但是高斯模糊可以實現一些特殊效果,特別是在映像雜訊(非椒鹽雜訊)消去方面,更是有著非常好的效果。一維高斯公式如下:其中x是制定[-n,n]範圍的整數,sigma代表標準方差。通常取值為1. 一維高斯函數Java代碼如下:private float[] get1DKernalData(int n, float sigma) {float sigma22 = 2*sigma*sigma;float Pi2 = 2*
Time of Update: 2018-12-03
影像處理之霍夫變換(直線檢測演算法)霍夫變換是映像變換中的經典手段之一,主要用來從映像中分離出具有某種相同特徵的幾何形狀(如,直線,圓等)。霍夫變換尋找直線與圓的方法相比與其它方法可以更好的減少噪聲幹擾。經典的霍夫變換常用來檢測直線,圓,橢圓等。 霍夫變換演算法思想:以直線檢測為例,每個像素座標點經過變換都變成都直線特質有貢獻的統一度量,一個簡單的例子如下:一條直線在映像中是一系列離散點的集合,通過一個直線的離散極座標公式,可以表達出直線的離散點幾何等式如下:X *cos(theta) + y
Time of Update: 2018-12-03
題意:給你一個圖案,讓你輸出圖案的相連面積。解:這題就是表示比較麻煩的。就是個bfs或者dfs搜尋,方向標記麻煩一點。看著倪裕芳敲完的,於是我決定不敲了。#include <iostream>#include <cstdio>#include<queue>#include <cstring>#include<cmath>#include <algorithm>#include <iostream>const
Time of Update: 2018-12-03
影像處理之相似圖片識別(長條圖應用篇)演算法概述:首先對源映像與要篩選的映像進行長條圖資料擷取,對採集的各自映像長條圖進行歸一化再使用巴氏係數演算法對長條圖資料進行計算,最終得出映像相似性值,其值範圍在[0, 1]之間0表示極其不同,1表示極其相似(相同)。 演算法步驟詳解:大致可以分為兩步,根據源映像與候選映像的像素資料,產生各自長條圖資料。第二步:使用第一步輸出的長條圖結果,運用巴氏係數(Bhattacharyya
Time of Update: 2018-12-03
題意:給n個頂點,和n-1條邊(一顆產生樹)。然後給定k個點,表示這些點上有一個機器人。最後讓你刪去一些邊使任意兩個機器人都不能互達,且所刪邊的權值之和要最小。http://acm.hdu.edu.cn/showproblem.php?pid=4313解:首先可以看出兩個無需決策的選擇。1.如果根節點是危險點,那麼其子樹中就不能有危險點。dp[u][0]:
Time of Update: 2018-12-03
影像處理之理解卷積 一:什麼是卷積離散卷積的數學公式可以表示為如下形式:f(x) = - 其中C(k)代表卷積運算元,g(i)代表樣本資料, f(x)代表輸出結果。舉例如下:假設g(i)是一個一維的函數,而且代表的樣本數為G = [1,2,3,4,5,6,7,8,9]假設C(k)是一個一維的卷積運算元, 運算元為C=[-1,0,1]則輸出結果f(x)可以表示為 F=[1,2,2,2,2,2,2,2,1]
Time of Update: 2018-12-03
在很多問題裡,通常要找到一個係數a,使得給定的誤差函數值形如f(d(x,a)-t)期望最少,其中t為真實值,d(x,a)是關於自變數x,係數為a的函數(通常是線性函數)(註:x和a通常是向量,表示一組自變數和對應的一組係數)。給定的誤差函數可以是誤差的絕對值期望,也可以是誤差值的平方的期望。通常平方比絕對值更常用,因為方便做微分運算。 對於平方誤差函數E = Σ(d(x,a) – t(x)
Time of Update: 2018-12-03
http://acm.hdu.edu.cn/showproblem.php?pid=4327轉自http://blog.csdn.net/haha593572013/article/details/7829075題意:給你一些點( x, y ), 0 < x < 1 , 0 < y <
Time of Update: 2018-12-03
線段樹。http://acm.hdu.edu.cn/showproblem.php?pid=4302求距離離某點距離最短的點的下標。剛開始初始化的時候沒初始對, Orz了好久。還以為有什麼問題呢。#include <cstdio>#include <iostream>#define inf 100010#define maxn 100010#define ls rt << 1#define rs rt << 1 | 1#define lson l,
Time of Update: 2018-12-03
題意:
Time of Update: 2018-12-03
基本原理:映像的透明混合有個專屬名詞– Alpha Blending 對任意兩張映像可以合成為一張映像,合成映像的像素取值根據數學公式:RGB3 = (1- a) * RGB1 + a * RGB2其中a為混合透明度取值範圍[0, 1]之間, RGB3為目標像素值, RGB1與RGB2的值分別來自兩張不同的映像。兩張源映像分別為:第二張源映像是房屋設計圖三:最終程式效果如下四:程式關鍵代碼及解釋擷取BufferedImage對象中像素資料的代碼如下:public void
Time of Update: 2018-12-03
一:數學原理在臨近點插值的數學基礎上,雙線性插值,不是簡單copy源像素的值,而是擷取四個最鄰近目標像素的像素值乘以權重係數,簡單的數學公式可以表示為:D(x, y) = S(j, k) * a + S(j+1, k) *b + S(j+1,k+1) * c + S(j, K+1) * d 公式一 問題轉化如何提取源像素的中四個臨近點,根據臨近點插值中從目標像素尋找最臨近的源像素點的方法:Sx= Dx * (Sh/Dh) // rowSy= Dy * (Sw/Dw) //
Time of Update: 2018-12-03
有n個數,剛開始都為0 http://www.cnblogs.com/wuyiqi/archive/2012/05/27/2520642.htmladd i , j 給i,j區間內的數都加1Q i j 詢問i、j間能被三整除的數的個數http://lightoj.com/volume_showproblem.php?problem=1135線段樹記錄三個域對三取餘為0的數的個數。。。。。1.。。。。。。。。。。2.。。。。。可以儲存在一個數組裡面考慮到每次給一個區間加1的時候,區間內對3取餘為1