[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubi
From: |
Hartmut |
Subject: |
[Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate |
Date: |
Tue, 13 Apr 2021 05:43:18 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:87.0) Gecko/20100101 Firefox/87.0 |
Follow-up Comment #10, bug #60322 (project octave):
Note concering the filtering (e.g. interpolation) of color images:
Yes, I think it is totally common to do this channel wise directly in the RGB
color space. But this method generates interpolated colors with some "not so
nice" properties, because the RGB color space is not linear in terms of visual
perception, for example visual brightness perception. An example to see this
is to smooth (or interpolate) a sharp color edge from red to blue color. The
generated interpolation colors will be darker (converted with rgb2gray for
example) than either red and blue color are on its own. (Because those sharp
color edges are pretty rare in real photography images, this is not too much
of a problem with this kind of images.) If you want to do better, you can
first convert the color image to a "more linear" color space, e.g. LUV oder
Lab, do the filtering there, and then convert back. This way you do not
generate "wrong" interpolation brightnesses, but you need to take a bit more
care when doing the math of interpolating the color channels. If you want to
read more about this, I can suggest the book of Burger and Burge (available
in English and German), chapter 15 "filtering of color images" (in the german
3rd edition).
Yes, let's wait and see if Avinoam has more comments on your proposed patch.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60322>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Avinoam Kalma, 2021/04/01
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Christof Kaufmann, 2021/04/02
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Avinoam Kalma, 2021/04/02
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Christof Kaufmann, 2021/04/03
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Hartmut, 2021/04/04
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Christof Kaufmann, 2021/04/04
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Christof Kaufmann, 2021/04/07
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Hartmut, 2021/04/09
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Hartmut, 2021/04/09
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate, Christof Kaufmann, 2021/04/10
- [Octave-bug-tracker] [bug #60322] [octave forge] (image) imresize bicubic interpolation inaccurate,
Hartmut <=