How to average color

Sdílet
Vložit
  • čas přidán 9. 05. 2024
  • Talking about the pitfalls of averaging colors and how gamma and color space affects it.
    Discord Link: / discord
    BisectHosting was gracious enough to provide us with the Minecraft server we use for the community. If you are in the market for a server then you can use my code gneiss to get 25% off the first month when using any of their gaming servers.
    bisecthosting.com/gneiss
  • Hry

Komentáře • 270

  • @gneissname
    @gneissname  Před měsícem +464

    Small correction:
    I wrote and said square root and square in the wrong order when I was showing the conversion of the colors on the board. The values were correct, just wrote it wrong.
    Also 13/3 is 4.333, not 6.5.... i changed the divisor and didn't update the answer. just horrible.
    I added a little correction video to the appropriate place in the video.

  • @IFlyingTea
    @IFlyingTea Před měsícem +1120

    So it's "Computer Color is Broken" all over again

    • @gneissname
      @gneissname  Před měsícem +277

      I found that video while I was editing the first version of this and the candle explanation was so good I decided to replicate it and re-record the episode. The Minecraft gamma that I put back at the end was going to go there originally.

    • @tomikun8057
      @tomikun8057 Před měsícem +21

      haha this reminds me of the captain disillusion video

    • @ImpossibleEvan
      @ImpossibleEvan Před měsícem +13

      Human eyes are broken and computers don't pander to us

    • @raeplaysval
      @raeplaysval Před měsícem +6

      or “human vision is broken”

    • @HappyBeezerStudios
      @HappyBeezerStudios Před měsícem +6

      @@raeplaysval indeed it is. Green is the brightest and pink doesn't exist.

  • @SarahImperial
    @SarahImperial Před měsícem +223

    To be honest, I wasn't expecting the geologist Minecraft CZcamsr to solve one of my biggest problems with doing pixel art out of nowhere, but I'll be danged. I've always had trouble figuring out how to do gradients in my pixel art, especially with the low color palette, and now I've got a pretty quick shorthand for calculating good average colors/have a strong idea where to color pick if I don't want to math it out. So uh... genuinely, thanks a bunch!

    • @anj000
      @anj000 Před měsícem +7

      If you are rotating pixel art there is better way of doing this then averaging the colors. See Rotation by Shearing

    • @rainbowcraft2694
      @rainbowcraft2694 Před měsícem +4

      For palettes if I need a middle color I make a pixel of color A and then put color B over it at 50% opacity to get color C. I don't know how the result maths out but I can do it without having to math it out or anything.
      I can also fine tune the color manually afterwards. I'm curious if this method is accurate or not but don't want to do the math for it-

  • @christophfischer2773
    @christophfischer2773 Před měsícem +690

    I am convinced Gneiss could make me watch paint dry.

    • @gneissname
      @gneissname  Před měsícem +250

      Challenge accepted.

    • @joaocomtil_
      @joaocomtil_ Před měsícem +125

      @@gneissname He's gonna make a whole video about how drying paint changes slightly in color and the mechanics of paint drying with simulations in Minecraft (idk what i'm talking about)

    • @VGACGAEGA
      @VGACGAEGA Před měsícem +3

      ​@@joaocomtil_lol

    • @frostebyte
      @frostebyte Před měsícem +7

      I'll watch, dead serious.

    • @aleksandrstinchcomb2840
      @aleksandrstinchcomb2840 Před měsícem +5

      @@gneissname Oh goody, now I have something to look forward to! You've already accepted the challenge! No takesy backsies!

  • @GoodGamer3000
    @GoodGamer3000 Před měsícem +346

    "Let's look at this *normal* Minecraft painting" 0:14

  • @aliasd5423
    @aliasd5423 Před měsícem +135

    Between you and Acerolla, I’m really glad we’re getting quality content on youtube about OKLAB

    • @gneissname
      @gneissname  Před měsícem +49

      Someone commented about Acerolla on another video and I wasn’t familiar, watched some stuff since and now subbed. I didn’t know they talked about Oklab.

    • @RePorpoised
      @RePorpoised Před měsícem +14

      Yeah, his video “Your colours suck (it’s not your fault)” is the video about it.
      It more or less introduced and explained to me most of the general terms related to digital colour. Really appreciated that video.

    • @aliasd5423
      @aliasd5423 Před měsícem +1

      @@gneissname like @reporpoised said above 👆, his “your color suck” video is pretty well made about it, he’s got a quick and punchy editing style with a lot of zoomer memes.

    • @morgan0
      @morgan0 Před měsícem +1

      i’m glad it’s gotten more attention, it’s been a favorite of mine for years

  • @rav3nston3
    @rav3nston3 Před měsícem +263

    i really hate when the messy interpolation averaging happens in pixel art stuff, it looks blurrier because it's not taking the most prevalent color and displaying that, it's just mixing them together and assuming that'll look right

    • @oblivion_2852
      @oblivion_2852 Před měsícem +39

      There's a great video by matt parker about how skews can rotate images without messing up the overall image

    • @rav3nston3
      @rav3nston3 Před měsícem

      @@oblivion_2852 oh i use aseprite, it's got a good system for scaling and rotating, might check that vid out though!

    • @Fire_Axus
      @Fire_Axus Před měsícem +3

      your feelings are irrational

    • @riley1636
      @riley1636 Před měsícem +21

      actually, they're completely rational. the world is not as good as it could be and they wish it was better. thats pretty in accordance to reason or logic.

    • @thezipcreator
      @thezipcreator Před měsícem +15

      for pixel art just use Nearest Neighbor to resize. averaging colors together works well for large images

  • @bebcky
    @bebcky Před měsícem +79

    Common misconception about sRGB gamma, the gamma curve of the sRGB color space actually comes from the response curve of a CRT display, not the human eye, the two just happen to be similar to each other

    • @rebmcr
      @rebmcr Před měsícem +21

      That's not just happenstance, the three phosphors in CRTs were selected (from a much bigger pool of possibilities) BECAUSE they match closely with human cone cells.

    • @penguino118
      @penguino118 Před měsícem +7

      CRT superiority is proven yet again.

    • @Soandnb
      @Soandnb Před 18 dny

      @@penguino118 I mean, that extends to modern display tech as well.

  • @thespinningcube
    @thespinningcube Před měsícem +28

    One misconception about gamma correction I'd like to address-cameras don't do gamma correction simply because applying a curve to the colors makes them look more accurate to our eyes. We do it because the monitor is applying the opposite curve to the colors being fed into it (approximately but not exactly an x^2.2 curve). The two curves cancel out. The camera stores the colors in a nonlinear space, and the monitor takes those values which are in a nonlinear space and makes them linear again.
    One benefit of this is that sRGB makes it so that the brightnesses corresponding to the RGB byte values appear to be spaced apart evenly to our eyes (they are distributed more evenly in perceptual brightness), which makes color banding less noticeable than if the relationship was perfectly linear. Another detail is that the sRGB curve was chosen because it closely matched the curve found in CRTs.

    • @orbik_fin
      @orbik_fin Před 4 dny

      Exactly. And the reason it's called gamma *compression* is that using the nonlinear mapping allows using fewer bits to represent color. 8 bits per pixel is enough in sRGB, but you need at least double that in linear color to avoid noticeable banding.

  • @sneekcreeper689
    @sneekcreeper689 Před měsícem +21

    That love how when you first learned about color for computers you think oh it's just RGB. Then you get Gama thrown at you and color space .etc

  • @omayoperations8423
    @omayoperations8423 Před měsícem +48

    Man these are always great videos.

  • @Obsidianninja11
    @Obsidianninja11 Před měsícem +72

    Cool. This is what you were talking about in that discord stream!

    • @gneissname
      @gneissname  Před měsícem +21

      Yeah, this is the sidetrack I got on while making the texture noise and then got sidetracked from this one to make the paining one.

  • @rocksocar
    @rocksocar Před měsícem +12

    The way you visualise in Minecraft is so cool. I don't know how much of it is actually in engine or how much is editing magic, but either way you create a very immersive learning experience

  • @matttryc1907
    @matttryc1907 Před měsícem +19

    I always love these videos! In undergrad I worked on a project with a species of fish that would change color based on its behavior and social rank. I used an LAB color space to quantify the changes in their color through time!

  • @clangauss4155
    @clangauss4155 Před měsícem +69

    It's a minor tangent to your intro, but maybe a young artist who catches this would be curious: needing to average color values of pixels when transforming an image only happens when the image is a raster or a bitmap. The same need doesn't exist for vector images.

    • @incription
      @incription Před měsícem +24

      vector images are still rastered into pixels, and when you have edge cases like half a pixel being filled, or working with super sampling / anti aliasing, you may need to worry about color spaces

    • @Gandhi_Physique
      @Gandhi_Physique Před měsícem +1

      @@incription Vector images and raster images are two different things though. Wouldn't that only come into play if you make the decision to rasterize the image?
      (I just learned this in a textbook lol, I don't know anything)

    • @official-obama
      @official-obama Před měsícem +10

      @@Gandhi_Physique you need to rasterize it if you want to display it on a screen that has pixels

    • @incription
      @incription Před měsícem

      you have to rasterize a vector image when you render it to the screen@@Gandhi_Physique

    • @stephaneduhamel7706
      @stephaneduhamel7706 Před měsícem +5

      ​@@official-obamabut that's something that only needs to be happening at the very end of the pipeline, after applying rotation and scaling. Rasterizing a vector image before rotating or scaling it would be a very dumb idea, for many reasons.

  • @alfiemac9928
    @alfiemac9928 Před měsícem +16

    1:55 I feel like this applies to alot of things in life, for example if your running away from one lion or two lions is much more important than 102 or 103 lions, same as if you lost 1kg or 2kg of weight is much more important than 52 kilos or 53 kilos.

    • @gneissname
      @gneissname  Před měsícem +7

      The real truths

    • @MagicGonads
      @MagicGonads Před měsícem +7

      the lions example is true, the weight example is not
      what matters with non-linear scales is the absolute reference frame, not the relative reference frame
      the significance of a loss or a gain of 52kg vs 2kg depends on how much you already weigh
      e.g. if you are 50kg, a 52kg loss would mean you... have negative mass?
      with the lion example, if our measurements began at -100 lions, then the difference between adding 102 vs 103 lions would be quite significant and the difference between adding 1 or 2 lions would not.
      You count lions starting at 0 lions whereas you didn't specify where the loss/gain began in the weight example.

    • @KindredKin
      @KindredKin Před měsícem +6

      Exception when there's threshold values. E.g. you may be able to barely lift 40kg, but 41kg is too much and you injure your muscles instead.

  • @MrZomboman101
    @MrZomboman101 Před měsícem +19

    these videos are always so intresting, i love how u can be talking about a topic that has nothing to do with minecraft but still have it perfectly fit with the game

  • @bananajuicetech
    @bananajuicetech Před měsícem

    Love this deep dive. I'm always game for more color space talk. Thanks for sharing.

  • @jesteh
    @jesteh Před měsícem +5

    You put a lot of effort into your content. You also have a lot of passion.
    I think that's awesome!

  • @nathanitet
    @nathanitet Před měsícem

    Your videos are so interesting, I really enjoy your style of content!

  • @m4jci6
    @m4jci6 Před měsícem +1

    These videos about color are so fire I can't get enough of them.

  • @deikay5414
    @deikay5414 Před měsícem +2

    super super interesting stuff. this might sound like an insult at first, but the video felt really long. not because it was boring, but because you crammed so much information in the first three minutes i thought the video was gonna end. there aren't many videos that i find have so much helpful info. keep it up!

  • @d3crypt3d
    @d3crypt3d Před měsícem

    i love your freaking good videos about gamma/color

  • @ary0oYT
    @ary0oYT Před měsícem +1

    Such a banger video. Keep up the good work

  • @jikkohelloua5922
    @jikkohelloua5922 Před 22 dny +1

    I just love, how everything in your videos make perfect sense, and you seem like a very educated person, and then spontaneously 13/3 is 6.5... that makes me laugh so god damn hard

  • @LarsDonner
    @LarsDonner Před měsícem +19

    I really hate the term "gamma correction". There is nothing correct about it and the term itself doesn't tell you weather or not it means applying or removing the gamma curve. IMO we should just say linear or gamma space, which is much clearer.

    • @decb.7959
      @decb.7959 Před 23 dny +4

      The term "gamma encoding" is what I use, since the point of gamma is to store and transmit color. It helps me remember that my program needs to decode color values into linear space on the way in, and re-encode them into gamma space on the way out (then the monitor will decode them again when it displays them).

  • @bengoodwin2141
    @bengoodwin2141 Před měsícem +3

    I had an idea that might make for a good geology video.
    Given that the overworld is explicitly not made of granite, andesite, diorite, basalt, tuff, or calcite, and that deepslate is some kind of slate or other sedimentary rock under high pressure, and the evidence of stone being some kind of carbonate rock due to the abundance of caves, and volcanic activity only at the deepest points of those caves, I think a plausible explanation for the overworld's strange geology is that the entire world as we know it is made up of what used to be layers of coral-like organisms, hundreds of meters thick, and that the deepslate layer was once the ancient seafloor of a water world.

  • @DakkyW
    @DakkyW Před měsícem

    As a programmer and a color science & art nerd, your vids are so nice to see and learn from

  • @VoidySan
    @VoidySan Před měsícem

    Bro, your teaching style × high quality Minecraft visual examples is. Like. Incredible for my soft litl brain.

  • @maxkasters2198
    @maxkasters2198 Před 20 dny

    Man, I love this channel
    +sub

  • @paper8635
    @paper8635 Před měsícem +2

    1:59 reminds me I should listen to Bill Evans again, Thanks! Also, when showing the better average at 2:43, the arch on the graph reminds me of Lambert's Emission Law, even though that has more to do with value rather than color for art related purposes.

  • @Gandhi_Physique
    @Gandhi_Physique Před měsícem +3

    World record for fastest intro ever. Ngl it sounded like I joined part way in the video, then I realized you said "Gneiss here" but fast lol.

  • @daktotathecolossus7404
    @daktotathecolossus7404 Před měsícem +2

    These are so fascinating

  • @Matojeje
    @Matojeje Před měsícem

    I'm excited that we're going down this rabbit hole

  • @soupsoup7831
    @soupsoup7831 Před měsícem

    I love your videos on colors

  • @Albert-yu1cg
    @Albert-yu1cg Před měsícem +3

    yay new colour video

  • @TheWorstAlex
    @TheWorstAlex Před 12 dny

    OMG I LOVE THIS STUFF SM

  • @almicc
    @almicc Před měsícem +2

    Very neat demonstrations, and here I thought you just did geology stuff

  • @Neptoid
    @Neptoid Před měsícem

    If this man did math animations or video essays about the math or code it would just become my main resource on learning about computer color

  • @officialnolimitcrew8960

    The amount of knowledge in this minecraft video.... waiting on that geo one💪

  • @coldwaterstudio3658
    @coldwaterstudio3658 Před měsícem +2

    Holy fuck I need this thank you so much. Thank you for your beautiful brain.

  • @givowo
    @givowo Před měsícem

    Huh neat. I'll take this into account when working with shaders

  • @slavdey
    @slavdey Před měsícem

    Damn those MC visualisation looking sick

  • @Aphelia.
    @Aphelia. Před měsícem

    "Let's look at this normal Minecraft painting" yeah this painting is so gneiss

  • @docopoper
    @docopoper Před měsícem +4

    At this rate you're going to do a video on premultiplied alpha.

    • @tiddly5
      @tiddly5 Před měsícem

      if i remember correctly, captain disillusion did a pretty good video on that

  • @2JRaz
    @2JRaz Před měsícem

    I think some gneissname Minecraft calculus explanations would be very interesting to watch. Could be good for trying to learn those concepts too, especially for multivariable calculus with 3 Dimensional concepts! Just a suggestion

  • @Mr6Sinner
    @Mr6Sinner Před měsícem +1

    The best kind of correct, indeed.

  • @oliviareillyyoutube6652

    I LIKE THE “no” IN THE TITLE THO IT MAKES ME BRAIN HAPPY

  • @greenberrygk
    @greenberrygk Před měsícem +1

    I love this guy

  • @quinntaylor1170
    @quinntaylor1170 Před měsícem

    This man is a genius with display entities.

  • @CraftMine1000
    @CraftMine1000 Před měsícem

    It's been fun seeing the arc from geologist to colorist

  • @maxmanium2032
    @maxmanium2032 Před měsícem

    Been messing with Doom's color palette for a while now. It taught me a lot...

  • @flatikk
    @flatikk Před 6 dny

    you could say that the playback slider of this youtube video is a uniform space, except not relative to color, but to instanity, because linarly to how far I get into the video it perceptually starts feeling more like a fever dream

  • @fibbooo1123
    @fibbooo1123 Před měsícem

    Your videos about color are great! Any chance you could do one about how colorblind eas changes the perception?

  • @OfOodlesAndNoodles
    @OfOodlesAndNoodles Před měsícem

    as a web developer that still doesn’t quite get the CSS color v4 spec, i seriously appreciate these videos

  • @Alex_192.
    @Alex_192. Před 23 dny

    “No matter what, there is always averaging”
    *Skew rotating joined the chat*

  • @VGACGAEGA
    @VGACGAEGA Před měsícem

    I never thought i could learn so much from minecraft

  • @aepokkvulpex
    @aepokkvulpex Před měsícem +1

    Ohhhh this is definitely a big pet peeve. I think I've seen Captain Disillusion do a video on something very similar to this very topic, iirc "the horrors of the alpha chanel"? If you haven't seen it, I would highly recommend. I think you'd like it and a few of his other videos tbh

  • @greenstonegecko
    @greenstonegecko Před měsícem +1

    =D he's back with more

  • @The_NSeven
    @The_NSeven Před měsícem

    Color, math and Minecraft. 3 of my favorites :)

  • @NoenD_io
    @NoenD_io Před 15 dny +1

    🖥️💻"Beep boop beep we cant avarage🤖🤖🤖🤖🤖"

  • @discohirsch
    @discohirsch Před měsícem

    This was so helpful even tho I only gonna use it for Photoshop

  • @robdoghd
    @robdoghd Před měsícem

    reminds me of ‘computer color is broken’ from minutephysics

  • @HappyBeezerStudios
    @HappyBeezerStudios Před měsícem

    It's been one of the things that has been a pet peeve for me since basically forever.
    So far that I tend to retouch after averaging just to fix the issue.
    And yes, our perception is indeed logarithmic. It is important to know if there is 1 lion or if there are 3. But the difference between 10 lions and 13 lions isn't important, it's still a lot of lions coming after you.
    And the most sensitive area of the human eye is in the green area. Not only is there an overlap of different cone cells, but rods also have their peak there.
    Oh and many games have separate brightness and gamma sliders. And they do what their name suggests.

  • @EliasWolfy
    @EliasWolfy Před měsícem

    2:58 OMG, this really looks like a mix of the two colors better than the color on the left side!

  • @goat.95
    @goat.95 Před měsícem

    cool video, i love colors

  • @thomasfplm
    @thomasfplm Před měsícem

    When you started talking about using the averages of numbers, what I thought was that it would maybe be better to use a logarithmic scale for the average.
    Like the example you gave with the candles, my guess is that we would perceive proportional increases.
    Adding adding 4 candles to already existing 4 candles would have about the same effect as adding 1 candle to an existing candle.

  • @samgrainger1554
    @samgrainger1554 Před 21 dnem

    I feel like Ive beem dueped into learning

  • @bugpocket
    @bugpocket Před měsícem

    Thought this was gonna be advice on how to avg color.

  • @cephelos1098
    @cephelos1098 Před měsícem

    "But no matter what, there is always averaging"
    Worth noting that there are ways to get non 90° rotations without any averaging or color changing at all (like doing 3 shears), but outside of authentic low-resolution pixel art, it's fairly limited in actual use

  • @ThatJay283
    @ThatJay283 Před měsícem

    for colour spaces, it also depends on what kind of thing you're trying to show as to what colour space is best. for example, to simulate what colour you'll get when you mix 2 different lights together (or really anything to do with lighting or transparency) you'll wanna do this in linear RGB space rather than sRGB or OkLab

  • @Leoiswhoo
    @Leoiswhoo Před měsícem

    you lost me but the visuals go crazy

  • @nikicherry1234
    @nikicherry1234 Před měsícem

    this is useful

  • @IgnasiaSundavr
    @IgnasiaSundavr Před 27 dny

    “Geology of Vintage story” when?

  • @Vexcenot
    @Vexcenot Před měsícem

    what's the font you are using seen in the video?

  • @decb.7959
    @decb.7959 Před 23 dny

    You mentioned averaging colors to scale and rotate an image. If you want yet another extremely deep topic filled with subtle misinformation, you can look into filtering, sampling, and antialiasing, which is the math concerning how, exactly, you combine those pixels.
    Here's some base-level knowledge:
    - The Sampling Theorem says that for any signal, you can perfectly reconstruct it from a series of samples, as long as the sample rate is greater than twice the highest frequency in the original signal.
    - For audio, that means using an analog low-pass filter during recording tuned to half the sample rate, and then reconstructing the signal with something like a Sinc filter. Since humans can only hear up to around 20 kHz, you only really need to sample at around 40 kHz (although most audio is sampled slightly higher because low-pass fillters aren't 100% perfect).
    - For images, it's a bit harder since there is a potentially unlimited frequency (a checkerboard from far away, a hard edge, or a very small object are all examples of high-frequency features). Applying a low-pass filter to an image essentially means blurring. Many cameras actually have an optical low-pass filter, which is just a slightly blurry piece in front of the sensor. For video games, it's a lot harder, since there isn't a real-world analog input to start with. You have to sample at as high a frequency as you can, which means rendering more samples than there are pixels on the screen. Obviously that gets slow quickly, so there are various techniques that try to approximate the result or gather the samples over multiple frames. Sampling is also needed when performing operations on images, such as scaling or rotation. In this case it's typically called resampling.
    - Image sampling is a bit messier than audio sampling, because if you use a pure-frequency approach such as Sinc, you end up with distracting ringing artifacts. On the other hand, a filter that is too soft will make the image appear too blurry. Typically the Mitchell and Lanczos filters are considered pretty good if you can spare the processing power in your use case, however they are still not perfect, and it depends on use case.
    - Just averaging the 4 pixels that land in a square is called box filtering, and is one of the lowest-quality filters. It still leads to lots of aliasing in many cases. However, many programs use it because it's simple and it runs fast, leading to many people believing that there's no reason to use anything else. It's what's used in most real-time applications such as vector graphics rendering, web browsers, video games, etc.
    I would recommend the following articles if you want to know more:
    - Xiph's article "24/192 music downloads and why they make no sense" - Has some introductory information about audio sampling.
    - Alvy Ray Smith's Microsoft memo "A Pixel Is Not a Little Square" - A very good (although from 1995) article about many of the misconceptions about sampling and filtering.
    - The ImageMagick docs page on resampling filters - Provides an overview and comparison of some different resampling filters, as well as a conclusiong on good default choices at the end.

  • @IanZainea1990
    @IanZainea1990 Před 12 dny

    The charts are completely confusing. But this has been figured out. Nuke, the software used for compositing in film. Converts everything to linear color space. So the average is just the average. Then you convert the whole finished thing back to whatever colorspace.

  • @WingSun
    @WingSun Před měsícem

    The new sethbling

  • @Gaston731r
    @Gaston731r Před měsícem

    can you make a video of the blocks in grayscale?

  • @Empyrean55
    @Empyrean55 Před měsícem

    I think the music in combination with the moving video and talking is a bit much when you're explaining things gneiss! 🤔

  • @Soandnb
    @Soandnb Před 18 dny

    Just wait until you discover the joys of a "Scene-referred" color space. Or, in other words, a colorspace with no limit to how bright a color can get. It's the "color space" real life is in, and it's useful in 3D rendering for calculating lighting since there's such a wide range of brightnesses you can have. I've adopted it for my 2D art and it makes it remarkably easy, combined with a linear gamma and a tonemapper, to make great looking lighting with minimal effort.

  • @dliessmgg
    @dliessmgg Před měsícem

    7:15 i understood all the arguments in the video but ngl to me the blending without gamma still looks better to me

    • @inv41id
      @inv41id Před měsícem

      This is probably a case of being used to seeing incorrectly blended colours everywhere, since it is the default or even the only option in a huge amount of software

  • @rainbowcraft2694
    @rainbowcraft2694 Před měsícem

    I just put down a color and then put the second color over it at half opacity, then color pick the result. That gets what I assume is an average between the colors. It's always lighter than the darker color and darker than the lighter color.

  • @KazmirRunik
    @KazmirRunik Před měsícem

    Oh man, I went down this very same rabbit hole recently when investigating why they changed the official color scheme of Neptune, because when I look at Neptune through a physical telescope, I don't see the image that's now being pushed (though I also don't see the dark blue, either, it's more something in between). The new image of Neptune came from a reprocessing of the image's gamma correction, which could be what our eyes see from up close, but from far away where less of its reflected light reaches us & it gets diffused by the atmosphere, it blends more into the darkness of the sky. It does look at least noticeably different from Uranus when looking at both of them from the ground.

  • @U.Inferno
    @U.Inferno Před měsícem +1

    I was curious how Geometric Mean (multiply then take the square root instead of add then half) would apply to colors so I randomized two and calculated the geometric:
    Color 1: #1a7775
    Color 2: #21500a
    Geo Mean: #1D6222
    The Geometric mean will never be brighter than the Arithmetic mean. sqrt(xy)

  • @latrapa918
    @latrapa918 Před měsícem +1

    0:01 looks like Minecraft terracotta

    • @Googahgee
      @Googahgee Před měsícem

      Because that’s what it is

  • @decb.7959
    @decb.7959 Před 23 dny

    Gamma is just a compression method, so that dark colors (where you demonstrated the difference matters more) cover more of the 256 possible values. The monitor undoes the gamma function, so it's still outputting linear values (apparently this was just a useful side effect of CRT monitors, and is why gamma exists in the first place). It is objectively incorrect to do any operation to colors before they have been decoded from gamma space, and yet that's exactly what most software does.
    Example of intended usage of gamma: I'm working on a Minecraft shaderpack. The textures are stored in PNG, which uses sRGB space and is thus gamma encoded. The first thing my code does when it reads a texture value is raise it to the power of 2.2, bringing it back into linear space. No information is lost here, since my shader is working with 16 bit floats. Once all of the calculations are done, such as lighting and post-processing, the very last step in the shader is to encode the result into gamma space by raising it to the power of 1/2.2. When the monitor receives the value, it converts it back into linear space and displays it (from what I know, most software and monitors just use a power of 2.2, rather than the piecewise linear / 2.4 curve specified in the standard).

  • @m13253
    @m13253 Před měsícem +8

    3:27 The average gamma of sRGB is actually 2.2 instead of 2.4. Although there is 2.4 in its formulae, it averages down to 2.2.

  • @elongated_muskrat_is_my_name

    If you are shrinking pixel art do you really want to be averaging or is there a better way, like some kind of median filter? that way it will be picking one of the colours present in the original image rather than mixing them

  • @domi-no1826
    @domi-no1826 Před měsícem +1

    This guy is the solution to when the top result is reddit but the only guy who replies is refusing to acknowledge the question

  • @The_Pot06
    @The_Pot06 Před měsícem

    W bill Evan’s reference

  • @ThatOneSaltyFilipino
    @ThatOneSaltyFilipino Před 14 dny

    I wonder though. Is there literally any way to convert video into a sort of sRGB space so that it gets accurately shown on web browsers and web apps?

  • @givrally7634
    @givrally7634 Před 29 dny

    The same problem happens when you want to create a color gradient. If you simply interpolate linearly between the two colors, then the middle is often kind of greyed and washed out. That's because, if you take any two points in a cube, the average of the two points is often closer to gray than the two points. However, if you interpolate over HSV or HSL instead, you get a much more pleasing result that keeps its luminance and saturation ! The problem is that if the hues are very far away, or on different ends of the spectrum, you might have a gradient that goes red to yellow then green then blue then pink, instead of the red to pink gradient you wanted. It can be solved with a bit of cycle logic, but not from, say, 0° to 180°.
    I think there's some merit to a nuanced approach between the two, where you interpolate both in RGB space and in HSV space, then convert both colors to RGB and do a weighted average, with the weight being a chosen parameter. 0 gives you full HSV, 1 gives you full RGB, and between the two is a gradient of gradients.

  • @ShinoSarna
    @ShinoSarna Před měsícem

    It might be because I'm tired but I have no idea what this video is about. I understood the color averaging thing due to srgb no problem, but I have literally zero idea what the 3D graphs were supposed to show and what was plotted on them.

  • @stephaneduhamel7706
    @stephaneduhamel7706 Před měsícem +3

    Mathematically, It shouldn't matter at all in which linear color space you calculate the average. That's the whole point of linearity. The results should be the same.
    Let's take two linear color spaces, let's call them (A B C) and (X Y Z) for example. A,B,C,X,Y, and Z are vectors representing the primary colors of these spaces.
    Now let's take and arbitrary color D. It has cooordinates (a, b, c) in colorspace (A B C), and (x, y, z) in (X Y Z)
    D = a*A+b*B+c*C = x*X+y*Y+z*Z
    |a| |x|
    D = (A B C). |b | = (X Y Z). |y |
    |c| |z|
    Now, E = d*A+e*B+f*C = u*X+v*Y+w*Z (coordinates (d,e,f) in (A B C), and (u, v, w) in (X Y Z)
    Then, if we take (D+E)/2, we get (a*A+b*B+c*C + d*A+e*B+f*C)/2 = A*(a+d)/2 + B*(b+e)/2 + C*(c+f)/2
    |a| |d| |a| |d| |(a+d)/2|
    (D+E)/2 = 1/2 *( (A B C) .|b| + (A B C).|e| ) =1/2* (A B C). ( |b| + |e|) = (A B C) . |(b+e)/2|
    |c| |f | |c| |f | |(c+g)/2|
    so the average has coordinates ((a+d)/2, (b+e)/2, (c+f)/2) in colorspace (A B C)
    Using the same resoning, it also has coordinates ((x+u)/2, (y+v)/2, (z+w)/2) in colorspace (X Y Z)
    And assuming matrices (A B C) and (X Y Z) are inversible, you can convert the coordinates of the average from on space to the other and see that you end up with the same result as if you calculated in the other colorspace to begin with.
    |(a+d)/2| |a| |d| |a| |d| |x | |u| |(x+u)/2|
    (X Y Z)^-1 . (A B C) . |(b+e)/2| =1/2 * (X Y Z)^-1.( (A B C) .|b| + (A B C).|e| ) =1/2( ( (X Y Z)^-1.(A B C). |b| ) + ( (X Y Z)^-1.(A B C). |e|)) = 1/2(|y | + |v|) = |(y+v)/2|
    |(c+g)/2| |c| |f | |c| |f | |z | |w| |(z+w)/2|
    In both spaces, you can just average the coordinates to get the "true" average color.
    Which makes me wonder why the OKlab average is different than the linear sRGB average. Maybe OKlab isn't linear enough?

    • @stephaneduhamel7706
      @stephaneduhamel7706 Před měsícem +2

      Ok I checked OKlab's specs, it is NOT a linear color space.
      So no wonder the averages are different.
      (Also sRGB eotf approximates to gamma 2.2, not 2.4, this could also affect the results, but probably not as much as oklab's non-linarity)

  • @activeturtle770
    @activeturtle770 Před 25 dny

    Probably a weird question but what is the best way to create a gradient between two colors that look "visually" good using programming.

  • @penguincute3564
    @penguincute3564 Před 18 dny

    me: literally takes the average of the two values

  • @Banjoei
    @Banjoei Před měsícem

    You said that photoshop by default uses the darker colors, is there a way to make photoshop use a different method?

  • @DudeWhoSaysDeez
    @DudeWhoSaysDeez Před měsícem

    have you made your own minecraft world/server/mod?

  • @maec7391
    @maec7391 Před měsícem

    goat