Galois field to binary matrix conversion (BCH encoding)

8 vues (au cours des 30 derniers jours)
Neeraj Chimwal
Neeraj Chimwal le 14 Avr 2021
Hii.
I am trying to encode/decode an image using BCH encoder
I did this code
n = 255;
img = imread('pout.tif');
toBinary = img > 102; %convert image to binary
resized = imresize(toBinary, [291 247]); %resize image to get proper encoding ratio
[row k] = size(resized);
msg = gf(resized); %create galios field message
enc = bchenc(msg,n,k);
noisycode = enc + randerr(row,n);
[decmsg,numerr] = bchdec(noisycode,n,k)
isequal(msg,decmsg)
Code might seem dirty as I am new to MATLAB.
The code works fine (I think) but the problem is that final output is a galois field.
I want to convert it to binary matrix i.e my binary Image.
I couldn't find any way to it.

Réponse acceptée

Walter Roberson
Walter Roberson le 14 Avr 2021
NC = noisycode.x;
That will be uint32 with min 0 and max 0, so you can logical() it or double() it or uint8() it as appropriate for your purpose.
  3 commentaires
Walter Roberson
Walter Roberson le 14 Avr 2021
Modifié(e) : Walter Roberson le 15 Avr 2021
For gf specifically, it retrieves the values used to create the matrix. It is not documented but is found if you ask for properties(noisycode)
Neeraj Chimwal
Neeraj Chimwal le 15 Avr 2021
thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Error Detection and Correction dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by