#系統觀測誤差,根據模型進行調節
R = 0.05
#輸入爲前一個時刻的預測值、前一個時刻的預測誤差,當前時刻的觀測值
#輸出爲當前時刻的預測值、當前時刻的預測誤差
def kalman_filter(last_predict_point, last_P, input_point):
#通過當前觀測值與前一時刻預測值的距離,計算系統過程噪聲
distance = dis(input_point - last_predict_point)
alpha = clamp(distance/max_distance, 0.0, 1.0)
#系統過程噪聲誤差
Q = alpha + eps
#系統預測誤差
P = last_P + Q
#卡爾曼增益
K = P / (P + R)
#當前時刻的預測值
cnt_predict_point = last_predict_point + K * (input_point - last_predict_point)
#更新當前時刻預測誤差
cnt_P = (1 - K)* P
return cnt_predict_point, cnt_P
R>95&&G>40&&B>20&&R>G&&R>B&&max(R,G,B)−min(R,G,B)>15&&abs(R−G)>15
#表面模糊Surface Blur
#references:https://blog.csdn.net/shinian1987/article/details/78345408
def sur_blur ( I_in, thre=20, half_size=10):
I_out = I_in * 1.0
row, col = I_in.shape
w_size = half_size * 2 + 1
for ii in range (half_size, row-1-half_size):
for jj in range (half_size, col-1-half_size):
aa = I_in [ii-half_size:ii+half_size+1, jj-half_size : jj+half_size+1]
p0 = I_in [ii, jj]
mask_1 = numpy.matlib.repmat(p0, w_size, w_size)
mask_2 = 1-abs(aa-mask_1)/(2.5*thre);
mask_3 = mask_2 * (mask_2 > 0)
t1 = aa * mask_3
I_out[ii, jj] = t1.sum()/mask_3.sum()
return I_out
#獲取濾鏡顏色
#輸入爲圖像、查找表、圖像中位置
#輸出爲對應位置的顏色值
def getBGR(img, table, i, j):
#獲取圖像顏色
b, g, r = img[i][j]
#計算標準顏色表中顏色的位置座標
x = int(g/4 + int(b/32) * 64)
y = int(r/4 + int((b%32) / 4) * 64)
#返回濾鏡顏色表中對應的顏色
return table[x][y]
#簡單使用代碼
img = cv2.imread('input.png')
lut_map = cv2.imread('lut.png')
rows, cols = img.shape[:2]
dst = np.zeros((rows, cols, 3), dtype="uint8")
for i in range(rows):
for j in range(cols):
dst[i][j] = getBGR(img, lut_map, i, j)
交流羣
歡迎加入公衆號讀者羣一起和同行交流,目前有美顏、三維視覺、計算攝影、檢測、分割、識別、醫學影像、GAN、算法競賽等微信羣
個人微信(如果沒有備註不拉羣!)
請註明:
地區+學校/企業+研究方向+暱稱
下載1:何愷明頂會分享
在「AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析
下載2:終身受益的編程指南:Google編程風格指南
在「AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!
下載3 CVPR2021
在「AI算法與圖像處理」公衆號後臺回覆:
CVPR
,即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文
本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。