필터 지우기
필터 지우기

How do I change the background on an image?

조회 수: 1 (최근 30일)
Jose
Jose 2013년 4월 8일
Given an image filename and a background image file name, how would I write a function that changes the images blue background with the background in the background file. Then write the updated image to a file with 'updated_' appended before the background filename.
So far I have
function new = changeBackground(fn1, background)
pic = imread('fn1. jpg') [r c l] = size(cat); background = imread('background.jpg') [r1 c1 l1] = size(background); red = (:, :, 1); green = (:, :, 2); blue = (:, :,3);
cutout= fn1(fn1~=blue);
new = imwrite(cutout, background); new = imwrite(new, 'updated_background); end
I think I separated and concatenated the images into RGB layers incorrectly, as well as indexed the blue mask incorrectly.
  댓글 수: 2
Image Analyst
Image Analyst 2013년 4월 8일
Yeah, that won't work because cutout is a 1D vector, not a 2D mask array. Before I fix it, where did you upload your images to? http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers
Jose
Jose 2013년 4월 8일
편집: Image Analyst 2013년 4월 9일

댓글을 달려면 로그인하십시오.

답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by