KS0108B - //LÖST//

Lysdioder, Optiska sensorer, Fiberoptik, Displayer, Lasrar, Optiska kopplare
henkebenke
Inlägg: 515
Blev medlem: 31 maj 2003, 10:42:37
Ort: Helsingborg

Inlägg av henkebenke »

Här är ett matlab-script som gör om en bmp till två bilder, en för vänstra och en för högra halvan av displayen.

Kod: Markera allt

function bildkonvert(filenamein, filenameleft, filenameright);
%Skapa bild i specialformat för LCD-display. 
% Use: bildkonvert('infilename','leftfilename','rightfilename')

picture = double(imread(filenamein));

figure(1)
colormap gray;
imagesc(picture)

picture(find(picture==0)) = 2;
picture(find(picture==1)) = 0;
picture(find(picture==2)) = 1;

fout = fopen(filenameleft, 'w');

for rad=0:7
    for byte=1:64
        B = 0;%uchar(0);
        for bit=1:8
            B = bitset(B, bit, picture(((rad*8) + bit), byte));
        end
        fwrite(fout,B,'uchar');
    end
end

fclose(fout);
fout = fopen(filenameright, 'w');

for rad=0:7
    for byte=65:128
        B = 0;%uchar(0);
        for bit=1:8
            B = bitset(B, bit, picture(((rad*8) + bit), byte));
        end
        fwrite(fout,B,'uchar');
    end
end

fclose(fout);

%läs in och återskapa bild för att visa hur det ser ut
fin = fopen(filenameleft, 'r');
left = zeros(64,64);
for rad=0:7
    for byte=1:64
        B = double(fread(fin,1));
        for bit=1:8
            left(((rad*8) + bit), byte) = bitget(B, bit);
        end
    end
end

fclose(fin);
fin = fopen(filenameright, 'r');
right = zeros(64,64);
for rad=0:7
    for byte=1:64
        B = double(fread(fin,1));
        for bit=1:8
            right(((rad*8) + bit), byte) = bitget(B, bit);
        end
    end
end

fclose(fin);

left(find(left==0)) = 2;
left(find(left==1)) = 0;
left(find(left==2)) = 1;

right(find(right==0)) = 2;
right(find(right==1)) = 0;
right(find(right==2)) = 1;

figure(2);
colormap gray;
subplot(1,2,1);
imagesc(left);
subplot(1,2,2);
imagesc(right);

Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

aaa... trevligt !!!! Tackar
Skriv svar