필터 지우기
필터 지우기

image reading and writing

조회 수: 1 (최근 30일)
James
James 2011년 8월 8일
Hi
I have been developing an algorithm which reads and imports 2 different images (.jpg files) and undertakes calculations to output and write a third different image file.
At first when reading in the images I just used double() and then I started to using rgb2gray and finally it seemed to work when using im2double instead of just double.
Why do I need to use this code:
object = mmreader('train.mpg')
frame1=read(object,1)
frame1=rgb2gray(thisframe)
frame1=im2double(thisframe)
Is this even correct what I have finally used?? Please help!
  댓글 수: 1
Image Analyst
Image Analyst 2011년 8월 9일
Actually it worked after your call to read. Anything you do after that is just part of your algorithm, like throwing away the color info or changing from integer to floating point or whatever you do after that. Anyway, why not use VideoReader, which is the more modern way of reading videos?

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

답변 (1개)

Walter Roberson
Walter Roberson 2011년 8월 8일
You define "frame1" three times, but you twice use "thisframe" without ever defining it.
object = mmreader('train.mpg');
frame1 = read(object,1);
thisframe = rgb2gray(imdouble(frame1));
  댓글 수: 5
Harsha Vardhan Rao  Avunoori
Harsha Vardhan Rao Avunoori 2011년 8월 10일
Well this might not be a great addition but you can avoid the third step.
object= mmreader('train.mpg'); %If you have R2011a then you can replace mmreader with VideoReader
frame1= rgb2gray(read(object,1));
thisFrame = im2double(frame1);
Walter Roberson
Walter Roberson 2011년 8월 10일
James, in the table of the Tips section I referred to, what is the valid data range for RGB data represented as double precision values?

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

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by