According to SVD technique A=U*S*V'. But when I apply SVD to my image, I am not able to retrieve my original image. Is that because S matrix is not taking the all the eigen values? Eventhough, I had to get a partially correct image?
조회 수: 2 (최근 30일)
이전 댓글 표시
[u,s,v]=svd(a); ap=u*s; a=ap*v;
댓글 수: 0
채택된 답변
Roger Stafford
2018년 2월 20일
편집: Roger Stafford
2018년 2월 20일
You've left off the transpose operator at the last step:
ap*v';
It's a very small character, but it's all-important!
Round-off errors may cause tiny differences between your original a and the restored a. If the image pixels in the original a were all integers, just do a round on the result and that should restore it exactly.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!