DAY 1 5 LBP繼續學習加日常任務

2021-08-20 13:10:44 字數 1977 閱讀 7908

上課機器學習

機器學習作業收尾

英語ppt製作

20220

跳變0次:2個      跳變2次:56個    跳變4次:140個   跳變6次:56個   跳變8次:2個

其中跳變0次和2次編碼為1-58,其餘都編碼為0,所以影象整體偏暗

跳變2次的56**

1)先確定0和1的分配共有(p-1)次分配方式

2)確定開頭的0(或1)的位置共有p中情況

計算跳變次數邏輯:將二進位制數p迴圈p次,記錄某一位跳變的次數

clear all

clcradius = 3; %取樣半徑

neighbors = 8; %取樣點數

str=strcat('d:\學習\lbp\lena.jpg');

i = imread(str);

[r c]=size(i);

i_kuochong = padarray(i,[radius,radius],'replicate','both');

i_lbp = zeros(r,c);

% 先生成對應編碼表

temp = 1;

for i=1:256

if gethoptimes(i,neighbors)<3

table(i) = temp;

temp = temp + 1;

else

table(i) = 0;

endendflag = 1; % 是否up編碼的標誌

for k=1:neighbors

%計算取樣點對於中心點的偏移量

rx = radius * cos(2*pi*k/neighbors);

ry = -radius * sin(2*pi*k/neighbors);

% 分別對x y進行上下取整

x1 = floor(rx);

x2 = ceil(rx);

y1 = floor(ry);

y2 = ceil(ry);

% 座標對映到0-1之間

tx = rx - x1;

ty = ry - y1;

% 計算權重

w1 = (1-tx) * (1-ty);

w2 = tx * (1-ty);

w3 = (1-tx) * (ty);

w4 = (tx) * (ty);

% 迴圈處理每個畫素點

for i=1:r

for j=1:c

ii = i+radius;

jj = j+radius;

l = i_kuochong(ii+x1,jj+y1)*w1 + i_kuochong(ii+x1,jj+y2)*w2 + i_kuochong(ii+x2,jj+y1)*w3 + i_kuochong(ii+x2,jj+y2)*w4;

i_lbp(i,j) = i_lbp(i,j) + (l>i(i,j))*2^(k-1);

endend

% 對映至up編碼

if(flag == 1)

for i=1:r

for j=1:c

i_lbp(i,j) = table(i_lbp(i,j)+1);

endend

endend

function num = gethoptimes(input,neighbors)

inputbin = dec2bin(input,neighbors);

[r weishu] = size(inputbin);

count = 0;

for k=1:weishu

now = circshift(inputbin',k-1)';

next = circshift(inputbin',k)';

if now(1) ~= next(1)

count = count + 1;

endendnum = count;

python學習歷程day15

學習內建函式 包括map,sort,repr,lambda,filter,遞迴,二分法查詢 1.map lst 1,4,7,2,5,8 def func el return el 2 func lst 或者m map lambda el el 2,lst 把後面的可迭代物件中的每乙個元素傳遞給fun...

iOS底層學習 day 15

我是一名ios開發者,ios底層菜鳥的高階之路30天。void viewdidload super viewdidload 的本質 struct abc objc msgsendsuper2 abc,sel registername viewdidload 區域性變數分配在棧空間 棧空間分配,從高位...

018day 繼續學習字串

2017年10月28日 連續018天總結 內容 a.mooc7.2 b.下列都是將字串輸入陣列 a 用一維陣列存放字串 包含 0 其中 0 前的字元就是存放的字串 用char存放字串,陣列元素個數至少為字串長度 1 當用cin,scanf將字串讀入字元陣列時,會自動在字串末尾加 0 b 1.用sca...