how do I get binary data image with the save button on the guide?
조회 수: 4 (최근 30일)
이전 댓글 표시
I am segmenting and saving images that have been segmented. The image was successfully saved with jpg type but I don't know how to save binary data from a segmented image.
is there a solution for this?
global frame
[name_file_save, path_save]=uiputfile ({'*.jpg','JPEG Image (*.jpg)';},'save citra');
if isequal(name_file_save,0) || isequal(path_save,0)
msgbox('Image is saved', 'Foto_Editor')
else
F=getframe(handles.axes2);
img=frame2im(F);
imwrite(img, fullfile(path_save,nama_file_save),'jpg');
end
axes(handles.axes2)
댓글 수: 1
Walter Roberson
2020년 5월 17일
Saving segmentation information as .jpg is not a good idea. .jpg blurs sharp lines, and segmentation information is all sharp lines.
채택된 답변
Image Analyst
2020년 5월 17일
편집: Image Analyst
2020년 5월 17일
You don't need to use getframe(). That just saves a screenshot which will not even be the same size as the image you're hoping to save.
A segmented image is a binary / logical variable. You can save it with imwrite() if you cast to uint8. You might want to scale to 255 also.
% Make a uint8 image with values of 0 and 255 (so we can see it in the File Explorer thumbnail).
uint8Image = 255 * uint8(binaryImage); % binaryImage is your segmented image.
% Get base file name. Discard any extension they may have entered, like jpg.
[f, baseFileNameNoExt, ext] = fileparts(name_file_save);
% Construct full file name.
fullFileName = fullfile(path_save, [baseFileNameNoExt, '.png']); % NEVER use jpg for image analysis. Use PNG.
% Now do the actual save of the segmented image to disk as a PNG format image.
imwrite(uint8Image, fullFileName); % Save PNG image.
댓글 수: 7
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Convert Image Type에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!