필터 지우기
필터 지우기

Row and Column Interpolations

조회 수: 25 (최근 30일)
Ozan Can Sahin
Ozan Can Sahin 2020년 10월 5일
댓글: Steve Eddins 2020년 10월 5일
Hi everyone,
I'm new at MATLAB and I'm trying to implement a method proposed in a paper. In that paper it says "In the second phase column interpolation is performed by using bicubic interpolated image and the filtered image obtained from the first phase.", and it also has a row interpolation version of this sentence later on. But I didn't understand what is meant by row/column interpolations. I'd be glad if you can help me with that.
Cheers,
Ozan
  댓글 수: 1
KSSV
KSSV 2020년 10월 5일
Read about interp1, interp2, spline.

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

답변 (1개)

Steve Eddins
Steve Eddins 2020년 10월 5일
편집: Steve Eddins 2020년 10월 5일
[Update: based on the comment thread below, it appears that "column interpolation" means something different than what I wrote in this answer. I'm leaving the answer in place so that the thread will make sense.]
In image processing, "column interpolation" and "row interpolation" refer to one-dimensional interpolation operations in either the vertical or the horizontal direction. For example, suppose you have a 3x3 matrix:
>> A = magic(3)
A =
8 1 6
3 5 7
4 9 2
Suppose I want to use "column interpolation" to estimate a value for A that is halfway between A(1,1) and A(2,1). Call it A(1.5,1). Using linear interpolation between A(1,1) and A(2,1) would give 0.5*8 + 0.5*3, or 5.5.
The following call to interp1 performs 1-D interpolation down each column ("column interpolation") of A using cubic interpolation.
>> B = interp1((1:3)',A,(1:0.5:3)','cubic')
B =
8.0000 1.0000 6.0000
4.7500 3.0000 7.2500
3.0000 5.0000 7.0000
2.7500 7.0000 5.2500
4.0000 9.0000 2.0000
Now let's perform row interpolation on B. The function interp1 doesn't support a "DIM" syntax for specifying the direction of interpolation, so to get row interpolation, first transpose B, then call interp1, then transpose the result.
>> C = interp1((1:3)',B',(1:0.5:3)','cubic')'
C =
8.0000 3.0000 1.0000 2.0000 6.0000
4.7500 3.1250 3.0000 4.3750 7.2500
3.0000 4.0000 5.0000 6.0000 7.0000
2.7500 5.6250 7.0000 6.8750 5.2500
4.0000 8.0000 9.0000 7.0000 2.0000
Performing 1-D cubic interpolation in one direction, followed by 1-D cubic interpolation of the result in the other direction, is called bicubic interpolation.
  댓글 수: 8
Ozan Can Sahin
Ozan Can Sahin 2020년 10월 5일
I sent the authors an email to be sure, but the resulting matrices should be 7x7, it doesn't make any sense otherwise. I'd be glad if you can help me as if the resulting matrices are 7x7.
Steve Eddins
Steve Eddins 2020년 10월 5일
The diagram makes absolutely no sense to me. I'm sorry, but I don't have any idea what computation you are trying to perform.

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

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by