Subtitles section Play video Print subtitles You can reduce the file size of an image by Removing the number of bits you need to represent Each the colors and if you remove that number of bits You have less colors, you can display so the image looks worse If you've got eight bits, you've got 256 levels of gray or levels of each color if you've got four bits You've only got sixteen if you've got one bit you've either got black or white and so what did ring is it's doing is an attempt to Simulate those extra gray scales. Let's keep it to a gray scales for the purpose of this video Just using black and white pixels or whatever colors you've got on the end for this video We'll just keep it to either having a black or a white pixel So quite often computers certainly early screens or even these days with printing they can either display a Pixel or they can't display it they can either be black or it can be white Let's take this to the extreme because it basically is the same even if you have got more colors Let's assume that we've got a display that can either display a black pixel or a white pixel. It might be a printer It might be a sort of very very simple video display of some sort particularly thought you find on sale an early 80s computer something although might be black and green then but let's go black and white and what we want to do is to be able to display which is that a continuous tone So they they don't just have black or white we go from black through grays to white and again You could extrapolate this out to different colors. And so you need some way of mapping the grays Into black and white a naive way we could do this. We've got an image. Let's say it's a photograph I say it's this video I'm sure I'll apply the special effects to make it look this and we need to convert it to black and white as we can Say anything Below a certain level will make black anything above a certain level will make white so we can do that and if you do that You can pick the level of which you make that switch you get it with an effect like this where you can sort of see it Steve but realistically, you've got lots of white and lots of black that call for a special effect, but not Useful for watching or printing things. So that's a naive approach It's actually a problem that's existed for Years newspapers are printing in general as had this problems pretty much since photography was invented in the 8th Hundreds and the way they get round it is that they convert the image into a series of dots actually this was originally done optically the image that they wanted to print was put in front of a camera and a screen was put in front of it of Lots and lots of small things and it was rephotographed with very high contrast and what happened was whether Holes in the screen were you've got very small pin pricks of light that depending on how bright they were made bigger or smaller discs on the Photographic plate and that's what was printed. So we need to do the same thing On our computer one way to look at it if we wanted to say make this square Gray, if you wanted to make it black, then we could just color in all the pixels So can you have it as white or black but we can also make it Appear grey just like the newspaper did by not coloring all the squares inside we can make it appear gray by coloring in this one and then coloring in This one like this and if you do that and you do that for enough of them next to each other If you zoomed out from that then it would look about 50% gray you could do a lighter gray by just setting one pixel of those four in each one and Just to finish off we could create a darker gray by filling in all But one of the pixels we can create just with a 2x2 grid of pixels a white one a black one 50% gray probably around 25% gray and around 75% greater and get 1 2 3 4 5 Different levels of grey just by using a 2x2 grid and selectively coloring in the pixels what's actually happening is that your eye is at acting like a sort of optical low-pass filter and When it's slightly fine of a way you stop seeing the individual pixels and you just see the sort of average gray from the number Of things that are in there you sort of converting the high frequency off the norms of the image into a grayscale Because you're looking at from a distance and so on So that's what did the ring effectively is. It's choosing a pattern of white and black dots to create The image to create the grey or to simulate the gray that was a better way of saying it now How do we do that in a computer now if we think about an image the image if we've sampled it? It's broken up into pixels and then they have a number associated with it to say how bright the artless is. Zero is black 255 is fully white. So what we could do is say well, let's say they're 50% gray. They said they're all 50% gray So let's say this is 128 This is 128. That's 128. That's 128 and so on So how do I programmatically convert that grid which is 50% gray Into the grid I've got here Where I say? Okay, I want that one on I want that one off I want that one on I want that one off so we could do it by patter matter We could look at this and say okay these four pixels here or 128 therefore we need to draw that pattern in it and these for 64 every 25% gray so we'll draw that pattern the pixels in it You could do like that, but it's actually a clever way. You can actually do this Let's draw out a grid of the 4 by 4 here so what I'm going to do is I'm going to say if this pixel is greater than 0 I will set it if the value in the pixel is greater than 64 I will set that pixel if it is greater Than 1 to 8 I will set that pixel and if it is greater than 1 9 2 I will set that pixel Okay, so these are each of our indifferent your pixels. So go back to my pixels here and I start With this one is 128 greater than 64. Yes, right so we color that in we're at my level again here in math. Yes We now move on to the next pixel is 128 greater than hundred 28 No note that we leave that there is 128 Greater than that form all there isn't a next one. So we go back to the beginning greater than 64 Yes, we set that again. And now we're going across here is 128 greater than hundred twenty-eight. No, so we leave that blank So now we come down onto line two and we do the same thing with the second line here is 128 great at 192 No, right. Ok, we leave it is Twenty-eight greater than zero. Yes. Okay, so we get the program to set this pixel here Is it greater than hundred ninety-two? Nope, is it greater than zero? Yes and so we set that one there like that and We're back here. And we do the same thing as a greater than twenty eight and Then no yes No No, yes No, and what happens is that you end up creating the pattern we'd come up here before? Just by applying that Thing there. Okay. Let's try that again and we'll do it a bit quicker this time. Let's say that these are all 24 So what happens? Well, we do exactly the same thing. We apply this is 24 great in 64 No is 24 greater than hundred twenty-eight. No is 24 great in 64. No, it's 24 greater than hundred twenty-eight No is 24 greater than 192? No is 24 greater than zero. Yes So we fill that in is 24 greater than hundred ninety-two. No zero. Yes, and now I shall go the same faster drew No, no, no. No. Yes. No. No, yes And someone created the pattern that we had For the library a case come up in a different position in that we had it in the top left But let's come in here. That was like any difference to how it would look to art. It's just where the dots are Positioned and you say we've got something that we can now apply Programmatically to create these five different patterns to the image that we can take our image Run that overage and create the same thing we get a nice fine Series of dots for the problem with this is that we've only got five different colors black dark gray mid gray light gray White why don't we wanted more colors? Well the way we could do that is make this matrix bigger and use a number of things But the problem with that is if we do that we have to trade off the resolution of our image Because the dots will become bigger to illustrate that You're going to jump away from the paper to my laptop because why I've done I have created a little video Which takes the image from white to black. So if we play it this is gray scales that goes from white two black over the course of ten seconds 255 or 256 frames are then exported this as a target image sequence relative poem which applies the same algorithm But this time using an 8x8 grid and because I did it at low resolution We can actually see the dots and so on. So if we play the same video this time, it's halftone We can see that the way it's doing it is that the dots they're getting bigger and bigger until eventually you end up with a completely black screen, but whereas before When we got to 50% gray We had relatively small pixels. There was one pixel arm one pixel off We've now got four pixels on four pixels off and bigger squares. So we've got dots that we can see just like the dots in the newspaper, we can actually start to see the individual dots but we still get that effect as if They're getting the images getting darker as we go through it And in fact if Shawn were to sort of point is camera at it that should if you gets it out of focus You know if the camera will act as a low-pass filter and you should see it go from like white to dark gray But it is still a collection of dots next to each other So that's one way that we can dither an image We can sort of apply a regular pattern and ordered patterns as an order. Did they recall this to the image? And Convert the individual pixels Into black and white dots to create the gray scales We can either say it to be white 255 or black zero so we choose the one which is closer So in this case the closest one we could leave it as white 255
A2 gray greater black pixel image grid Ordered Dithering - Computerphile 26 0 林宜悉 posted on 2020/03/27 More Share Save Report Video vocabulary