找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

matlab出现试图访问 mini_led_data(16,1);由于 siz...

img_dig = imread('C:\Users\李箫\Desktop\hdr7.bmp');  %读取图片
img_dig_l=(double(img_dig)./255.0).^2.2;%转移到光强度0~1
[v h d] = size(img_dig);%
img_gra = rgb2gray(img_dig);%图片灰度化
mini_s = 10;% 迷你LED的尺寸,超过液晶像素的倍数
mini_c = 3; % 一起控制多少个迷你LED
mini_t = mini_s*mini_c;%
% mini_led_data = imresize(img_gra,1/mini_t);%
mini_led_data = zeros(floor(v/mini_t),floor(h/mini_t),'uint8');
mini_led_dis = zeros(v,h,'uint8');
%--取最大值的背光
for i = 1:floor(v/mini_t)
    for j = 1:floor(h/mini_t)
        mini_led_data(i,j) = max(max(img_gra((i-1)*mini_t+1:i*mini_t,(j-1)*mini_t+1:j*mini_t)));
    end
end
% for i = 1:v
%     for j = 1:h
%         mini_led_dis(i,j) = mini_led_data(floor((i-1)/mini_t)+1,floor((j-1)/mini_t)+1);
%     end
% end
for i = 1:v
    for j= 1:h
        mini_led_dis(i,j) = mini_led_data(floor((i-1)/mini_t)+1,floor((j-1)/mini_t)+1);
    end
end
mini_led_dis_l = (double(mini_led_dis)./255.0).^2.2;%mini LED背光的光强度
%imshow(mini_led_dis);%show the image
%---------------------------液晶漏光 ------------------------------------------
%leaka = 50;% 使用灰度级设置漏光水平
leaka_l = 0.05;% 使用灰度级设置漏光水平
%img_cry = round(255 - leaka)/255*img_dig + leaka;%
img_cry_l = (double(img_dig)./255.0).^2.2*(1-leaka_l) + leaka_l;%考虑漏光
%imshow(img_cry);%show the image
img_cry = uint8(img_cry_l.^(1/2.2)*255);%转移到8位数字图像
%----------------以miniLED 为背光的液晶显示-------------------------------
%img_led_lcd_l = img_cry_l.*mini_led_dis_l;
for i = 1:v
    for j = 1:h
        for k = 1:3
        img_led_lcd_l(i,j,k)=img_cry_l(i,j,k)*mini_led_dis_l(i,j);
        end
    end
end
img_led_lcd =  uint8(img_led_lcd_l.^(1/2.2)*255);%转移到8位数字图像
%----------------------像素补偿--------------------------------------------
gray_rang = 0:255;
light_rang = (double(gray_rang)./255.0).^2.2*(1-leaka_l) + leaka_l;
img_comp = zeros(v,h,'unt8');
for i = 1:v
    for j= 1:h
        for k = 1:3         
          [CC,II] = min(abs(mini_led_dis_l(i,j)*light_rang-img_dig_l(i,j,k)));
           img_comp(i,j,k) =  II-1;
        end
    end
end
img_comp_l = (double(img_comp)./255.0).^2.2*(1-leaka_l) + leaka_l;%考虑漏光
%imshow(img_cry);%show the image
%img_cry = uint8(img_cry_l.^(1/2.2)*255);%transfered to 8 bits digital image
for i = 1:v
    for j = 1:h
        for k = 1:3
        img_led_lcd_comp_l(i,j,k)=img_comp_l(i,j,k)*mini_led_dis_l(i,j);
  compensated');
回复

使用道具 举报

大神点评(1)

艾的民 2020-10-12 13:50:22 显示全部楼层
越界了,检查你的矩阵大小与索引的关系,像这里矩阵只有15行你却索引到了16行
回复 支持 反对

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册
HOT • 推荐