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!