Galois field to binary matrix conversion (BCH encoding)
9 次查看(过去 30 天)
显示 更早的评论
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.
0 个评论
采纳的回答
Walter Roberson
2021-4-14
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 个评论
Walter Roberson
2021-4-14
编辑:Walter Roberson
2021-4-15
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Error Detection and Correction 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!