Convert Image into Matrix - Like a Pro!

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • Have you ever wondered how computers perceive raster images?
    In this video, I will show you how to understand the math and structure behind digital pictures.
    We'll learn all about pixels and the system of coordinates we use to select specific regions in an image.
    We'll focus on 2 types of images:
    1. Binary Image (Black & White)
    2. Grayscale Image
    3. Colorful RGB Image
    And by the end of the video, you'll be able to convert all of these into matrices in no time!
    00:00 intro
    00:42 what is a pixel?
    01:21 binary/black and white image conversion to a matrix
    02:49 grayscale/monochromatic image conversion to a matrix
    05:43 RGB image conversion to a matrix
    #computervision, #image, #matrix, #pixel
  • НаукаНаука

Комментарии • 118

  • @AdamMundok
    @AdamMundok 2 года назад +9

    You did a GREAT job explaining as a teacher. Keep up the great work and vids, and thanks for making and sharing!! 🙌🏼

  • @darcewirralgan1379
    @darcewirralgan1379 3 года назад +12

    I've been a graphic designer for years and never thought of RGB so deeply before! Thank you!

    • @PythonSimplified
      @PythonSimplified  3 года назад +7

      Me too! I've only realized the complexity of images once I've built my first classifier neural network, before that - I knew what pixels and vectors are, but I couldn't really translate them into math!
      The good news is, us designers don't really need to know that because Adobe Illustrator is doing this hard work for us (abbreviated to AI for a reason, no?), but in Machine Learning - it's a must! ;)

  • @ChristopherOBrienPSU
    @ChristopherOBrienPSU Год назад +1

    Wow, I love the way that you explain things in easy to understand concepts and language. Keep it up!

  • @darwinayrtonespejoquintana7507
    @darwinayrtonespejoquintana7507 Год назад +1

    Great explanation !! I was a little confused at first, but now I understand this subject better.

  • @martinoolivieri3779
    @martinoolivieri3779 Год назад

    Thanks a lot ! Clear and complete description. I have solved a important issue for my exam in Artificial Neuronal Network at Uni Trento - Italy.

  • @bolhasani
    @bolhasani 2 года назад +2

    Really informative and interesting. Many thanks for sharing your great knowledge and experience. It's admirable.

  • @trippy7415
    @trippy7415 3 года назад +3

    Great tutorial! Now I understand everything!

  • @neelsamshah
    @neelsamshah 2 года назад +1

    Great explanation and graphics! Thank you!

    • @PythonSimplified
      @PythonSimplified  2 года назад

      Thank you so much Sameer! glad you liked it! 😊

  • @h7opolo
    @h7opolo 6 месяцев назад

    thank you! this was very informative and pleasant to listen to.

  • @MicheleTorbak
    @MicheleTorbak 3 года назад

    I like the explanation. Plus very useful. Thank you

  • @rohithperumandla4302
    @rohithperumandla4302 3 года назад +1

    I've been searching for this explanation and finally found

  • @md.musfiqurrahaman8612
    @md.musfiqurrahaman8612 2 года назад

    Amazing explanations!

  • @nikluz3807
    @nikluz3807 2 года назад +1

    Not only well explained, but the presentation is excellent. What program do you use to make presentations like this? They’re so clean!

  • @hazirahmuslim
    @hazirahmuslim 3 года назад +1

    This is a detailed and good video! Thank you!

  • @stemcell11222
    @stemcell11222 Год назад +1

    It worked, my brain got bigger but not where I wanted it to! XD Too disctracted by talent, too much talent!

  • @kuaranir2440
    @kuaranir2440 2 года назад

    Fantastic explanation👍

  • @SastaYoutubian
    @SastaYoutubian 3 года назад +1

    I really like you and also the way of explaining

  • @aristideregal
    @aristideregal 3 года назад +1

    Best teacher ever!

  • @nehalkalita1
    @nehalkalita1 Год назад

    Really good presentation.

  • @foustcor
    @foustcor 2 года назад

    terrific!! thank you!

  • @AlexanderRodriguez-xn9zq
    @AlexanderRodriguez-xn9zq 3 года назад +2

    Congratulations, Excelent explanation with good illustrations

  • @mchess7157
    @mchess7157 Год назад +2

    That's great. I think this is exactly what I was looking for even though I didn't realize that. Some time ago I was working on a project that was supposed to enable automatic straightening of scans (I don't know if this is the correct term 🤔). I used the Pillow library for this to be able to iterate through the pixels in the selected axis and find the points in which text appeared on the basis of the color of the pixels. After finding several points the program could calculate the angle by which the image should be rotated. The results were in fact quite good. But the whole process lasted long. And from time to time the program landed in the empty space between the lines of text and couldn't find any darker pixel and was falling into a loop.
    I suppose that converting an image into a matrix and using numpy should be a much more effective and faster way.
    I'm so excited. I can't wait to try it in practice.
    Fantastic video. Thanks

    • @josholin31
      @josholin31 Год назад

      How goes putting it into practice?
      With your original method, I'd probably start closer to the center and work your way out. Rather than work your way inwards. - Less pixels to initially compare.
      But I'd definitely figure out the max used rgb / gray before doing so. And count how many similar pixels there are, to allow a tolerance + cap based on how many pixels it scanned through the width. Otherwise, it would needlessly rotate it when it reached a letter with a tail, like "g" or "y". - Could probably just rotate it up to 180 (original image or distortion) to see if it sees more of the background color on the width. And if it doesn't, it searches a wider area. (Also larger angle differences near the start and use a fraction of it as it goes out until hear area, would probably be best... also maybe a check to see if there is more background pixels initially within the new area before it tries rotating)
      But yeah, I've been working on a program to make an image into a bunch of algorithms. To compress an image. Most image formats have "filters" to decrease space but they neglect some patterns for speed. And I've been avoiding looking into matrices for far too long - hated them in school. But I think they are definitely the answer to analyze data.
      Although I'll add an observation, when I separated an image by rpga values, it took much more time when 0ing out values by matrix, rather than using merge with a new black image. I think it has to do with getdata / putdata... processor wasn't working that hard so I think it was the method of retrieving data and then writing it. - today I'm going to see how quick matrices are to search through. It definitely avoids a bunch of loops so is quicker. But I'm going to avoid using putdata/getdata whenever possible. - Using it only when analysis is necessary.
      (Have a very low end laptop for programming since I want to make efficient code.)
      Sorry needed to organize my thoughts. Helps when I think someone else might read it.

  • @underlecht
    @underlecht 3 года назад +5

    I know the theory but I love to see you explaining :)) also interesting that average of the three colors gives the greyscale :)

    • @PythonSimplified
      @PythonSimplified  3 года назад

      Thank you so much Mantas! I'm glad you like my explanations! we'll move to more complex lessons very soon :)

  • @KJ7JHN
    @KJ7JHN Год назад +1

    Do you have a python or java video on filtering specific colors? As an example, load image, cycle through x by y for 00FFA6 output result? And the next question is how would you do this for a web cam feed? Thank you! Keep up the great content.

  • @VishalSingh-mi8je
    @VishalSingh-mi8je 3 года назад +3

    never seen anything better than this : )

  • @ankitkumardip9061
    @ankitkumardip9061 20 дней назад

    Thank you so much ❤ 😊

  • @louaykhammar7268
    @louaykhammar7268 2 года назад

    great explanation

  • @madslug7139
    @madslug7139 3 года назад

    Awesome vid as usual!

  • @DeepuKumar-mp4hl
    @DeepuKumar-mp4hl Год назад

    The most lucid explanation one can get on youtube

  • @asmodeus4310
    @asmodeus4310 2 года назад

    Your channels the best

  • @athulyajayakrishnan8694
    @athulyajayakrishnan8694 3 года назад

    Thank you so much

  • @sprecmoles
    @sprecmoles 2 года назад +2

    Hello, first of all, thank you very much for the video. I couldn't find an answer to this question in your video, can you please answer? " What is the relationship between matrices and image processing ? " . Thank you from now :)

  • @wassel327
    @wassel327 3 года назад +1

    Underrated content

  • @sadaamashraf6288
    @sadaamashraf6288 2 года назад

    Good work

  • @jpinheiro7523
    @jpinheiro7523 Год назад

    Sua pronúncia é incrível aprendo muito com você fora que você é linda 🎉👏👏👏👏👏

  • @JohanFasth
    @JohanFasth 3 года назад +1

    Ok, she has a great brain, she can code, she can teach and she is a beauty. Why don't we have these girls in Sweden? Why???
    Excellent explanation!

  • @tersintech6779
    @tersintech6779 3 года назад

    Great! cheers.

  • @stephenlittman
    @stephenlittman 3 года назад

    Smart and beautiful

  • @okabirintaro976
    @okabirintaro976 3 года назад +3

    the explication is so gooood , thak you ,(also you are beautiful)

  • @mahdishadroh1643
    @mahdishadroh1643 3 года назад +1

    hi im from iran
    thank you so much your video answered all my questions
    you are beautifule im subscribing you right now

  • @user-qh2ve3pw3z
    @user-qh2ve3pw3z 9 месяцев назад

    Hello! Could you please tell me what type of editor did you use in this video?
    Thanks a lot

  • @samsonmakumbe7388
    @samsonmakumbe7388 Месяц назад

    thanks😁

  • @justiccoolman1816
    @justiccoolman1816 Год назад +1

    Btw. at 4:59, the calculation is right, but unneccessary complicated: 85% of 256 is just 256 * 0,85.
    Calclating a percentage is really easy: Just shift the comma two digits to the left (which is equivalent to devide by 100) and multiplicate that result with the amount u need the percentage from.

  • @chiranjeebroychowdhury7759
    @chiranjeebroychowdhury7759 3 года назад +1

    Nice elementary video on images. In my experience, I have come across people with little to no knowledge of raster or vector images, or the different color models (RGB, CMY, HSI, etc.). Many UI designers just use online color palettes and color pickers to put different colors!

  • @philtoa334
    @philtoa334 3 года назад

    Thank , it s nice.

  • @jooyichen
    @jooyichen 3 года назад +3

    Hello ma'am, just want to ask for your advice.
    I've been given a task to in my programming class which I was unable to do.
    1st step I've accomplished - txtfile full of floats > into Ndarrays > into matlotlib > savefig image
    2nd step I couldn't do ( done in reverse ) - from a png or jpeg > imread to ndarrays > Back to *floating arrays*
    I don't know why my arrays are all 255 and 0. The task was to produce arrays with values 0.654646 for example, then saved to a textfile.
    Thank you.

    • @PythonSimplified
      @PythonSimplified  3 года назад +1

      I believe it's a matter of conversion from one colour format to another, but it's difficult to tell without seeing the code and which images you're testing it on...
      Realistically if your values are between 0 - 255 maybe try dividing each value by 256 to get floating point numbers, this might solve it but I don't know if I fully understood the task 😊

    • @AliHassan-wc6nb
      @AliHassan-wc6nb 2 года назад +1

      @@PythonSimplified so nice of you to answer trying answering this!!

  • @azizelmajdoubi
    @azizelmajdoubi 2 года назад

    Thank u i understand nowww

  • @RiturajGhoshTech
    @RiturajGhoshTech 2 года назад

    Hey, can you explain the steps of RIP in detail?

  • @Yaya-hr9ho
    @Yaya-hr9ho 2 года назад

    is there any app, software or website for color to matrix converter?

  • @shinymp7691
    @shinymp7691 3 года назад

    Nice

  • @rahulranjan8682
    @rahulranjan8682 Год назад

    great. but just one doubt. why the intensity ranges from 0 to 255 why not other number as 511 or 1023?

  • @jyoshnabejjam4983
    @jyoshnabejjam4983 3 года назад +3

    Im an indian thank u very much
    Ur video helped me to clear all my doubts

  • @shahriaralom4547
    @shahriaralom4547 2 года назад

    thank you mam

  • @jituonline4u
    @jituonline4u 2 года назад

    is it same like correlation pearson heatmap ?

  • @dibbyabarua9499
    @dibbyabarua9499 3 года назад +1

    cool video

  • @mithunchandrasaha403
    @mithunchandrasaha403 3 года назад +1

    Nice Explanation.Madam

  • @emiliomartineziii2980
    @emiliomartineziii2980 9 дней назад

    She’s a genius supermodel! She’s superior to the rest of us :)

  • @davidtindell950
    @davidtindell950 3 года назад

    Thank You Again ! Also, Amazing how great are the images from Perseverance after landing on Mars this week !!!

  • @BanothAnusha-hv4qn
    @BanothAnusha-hv4qn 2 месяца назад

    thank you madam so mach for understanding concept over teacher teaches i cant understand know i understand

  • @SohailKhan-rw2gb
    @SohailKhan-rw2gb 3 года назад +2

    i install open cv but cv2 is not working, please help. i says about version error. So which version will work, and if i change python version will it uninstall all other installed numpy, pandas atc? i have problem dear, i even not reading image.

    • @PythonSimplified
      @PythonSimplified  3 года назад

      Hi Sohail! 😀
      Did you recently upgrade to Python 3.9 by any chance? you may be experiencing issues with several libraries in this case, as this version of Python is brand new and some of the packages are not integrated yet (including PIL by the way, I have a few viewers who had to go back to 3.8 to get it to work).
      As to your second question, if you installed your Python inside a virtual environment - you don't need to override anything.
      Just create a brand new virtual environment and install a different version of Python (and it's dependencies) inside it. That way you can have multiple versions of Python installed on your computer at once and you can jump from one environment to another very easily.
      If you installed Python with Anaconda, checkout my video where I explain how to create a new environment:
      ruclips.net/video/FZ5baopI_mo/видео.html
      If you didn't use Anaconda, checkout these instructions on how and why you should consider working with virtual environments 😁:
      www.geeksforgeeks.org/python-virtual-environment/#:~:text=A%20virtual%20environment%20is%20a,of%20the%20Python%20developers%20use.

    • @SohailKhan-rw2gb
      @SohailKhan-rw2gb 3 года назад

      Hi python simplified 🤠
      Thanks for such a sincere reply. You exactly said right. I am new to python. I need help from person like you much. I am lonely learning it, as I spent 3 days in just installing keras.
      I have installed 3.8.3 python version, is this still not suitable version?
      if you have any link related3.8 please give it. I will do the same as you said, Love you much.
      I am going to watch your video related environment. And yes I have installed Anaconda snake. ( But it is stinging me from few days)🐍😃. Thanks again. Can I mail you the shots of my python error. That will help me alot.

    • @SohailKhan-rw2gb
      @SohailKhan-rw2gb 3 года назад

      I faced this issue when I told my friend cN we convert image into math. He said it very hard., but we did through python. But we did it with their own laptop. When I was going to do it with my own laptop, it wasn't happening due to opencv issue. Is there any code to convert image to matrix without opencv.

    • @PythonSimplified
      @PythonSimplified  3 года назад

      ​@@SohailKhan-rw2gb hahaha Python 3.8 is great, that's the version I'm using so you shouldn't experience any issues if you follow the instructions of the Python installation video I sent you.
      In terms of Keras... I recommend learning much more about Python before you dive into this. This is not a beginners module and you will waste lots of time tying to understand it. It's like getting your drivers license for the first time and instead of driving an old Toyota - you go for Lamborghini. Machine Learning is not an easy task to understand, but it's easier with experience.
      Open CV and Pillow (PIL) are really good in terms of image processing, they are both great for image conversion.
      If you'd like to send me a screenshot you can either do this through LinkedIn:
      www.linkedin.com/in/mariyasha888
      or through my new Facebook page:
      facebook.com/PythonSimplified

  • @s.aadhithiyan9022
    @s.aadhithiyan9022 2 года назад

    How to do the vice versa?

  • @haboubikhouloud5060
    @haboubikhouloud5060 2 года назад

    hi can you give me the program that image has smile thank you

  • @sam2718e
    @sam2718e Год назад +1

    10:28 all good, but these are not the three dimensions.
    The third dimension is depth which allows to store more than one 2d matrix.

  • @electricelectric5224
    @electricelectric5224 Год назад

    How i can to send it to plc please

  • @xxaqploboxx
    @xxaqploboxx 3 года назад

    Im in love

  • @munivoltarc
    @munivoltarc 7 месяцев назад

    today u look beautiful, great learning from you on python

  • @constantincostea2823
    @constantincostea2823 3 года назад +8

    She is super smart, beautiful, relevant and funny. I promise :)

    • @faisalee
      @faisalee Год назад +1

      I loved that “I promise” 😄

  • @rbk00006
    @rbk00006 3 года назад +1

    Awesome video but why did you changed your background music u know that mr bean music..i liked it very much

    • @PythonSimplified
      @PythonSimplified  3 года назад

      Thank you so much! :)
      I though I've used the same music, no? It should be Creeping Spiders from the RUclips gallery but now I'm not sure hahaha XD

  • @topjeeneethindi1064
    @topjeeneethindi1064 3 года назад

    I don’t what should I appreciate first You or Code?

  • @agx111
    @agx111 5 месяцев назад +1

    1. binary = 0-1
    2. grey scale = 0 -255
    3. rgb - all red green blue got their different grey scale values
    red = 0 - 255
    green = 0- 255
    blue = 0-255
    so total three

  • @topgearIQ
    @topgearIQ 3 месяца назад

    How do you do

  • @Jriad
    @Jriad 3 года назад +1

    15% black is 85% white = 0.85*256 = 218
    easier to understand i think

  • @mohamedabdelbaset6769
    @mohamedabdelbaset6769 3 года назад +1

    Try to make intro longer please😂😂

  • @csp405
    @csp405 Год назад

    4:23 The correct way to math it is 256/100 = 2.56 * 15 = 38.4 255 - 38 = 217
    And I have no idea what does 100 divided by 85 = 1.176 256/1.176 to do with 15 %

  • @solomondeveloper
    @solomondeveloper 8 месяцев назад +1

    Nice to meet you. 😊
    Since I can't see your nose ring, it shows that you are even more beautiful.
    ~ 😄👍

  • @surkewrasoul4711
    @surkewrasoul4711 Год назад

    😍

  • @csp405
    @csp405 Год назад

    0:11 ice humans??

  • @sajibbiswas7709
    @sajibbiswas7709 Год назад

    Python absolutely beginner video where??

  • @aquahydroman7623
    @aquahydroman7623 3 года назад +1

    I only thought thier was 50 shades of grey..... not 250....

    • @PythonSimplified
      @PythonSimplified  3 года назад +2

      I guess Hollywood does a better job with marketing than mathematicians 🤣

  • @justnivek4345
    @justnivek4345 2 года назад

    Kay fine but it doesn't explain how to do it on Python, it's only the theoric part

  • @__________________________6910
    @__________________________6910 2 года назад

    I'm also back

  • @ayachibassem8642
    @ayachibassem8642 3 года назад

    the best explanation I've seen, thanks my pretty teacher, you are so attractive

  • @RasamAsrani
    @RasamAsrani 2 года назад

    I think I have a crush on you!

  • @greenpumpkin172
    @greenpumpkin172 3 года назад

    I wouldn't call it a 3 dimensional matrix, but a tensor though. Tensors are generalizations of vectors and matrices.

  • @akashesa4001
    @akashesa4001 3 года назад

    Nice Dress, I Love You

  • @rforrohitarorasirclasses6500
    @rforrohitarorasirclasses6500 3 года назад

    Nice content my channel name is r for rohit arora sir classes

  • @senjuchidori9448
    @senjuchidori9448 3 года назад +1

    Lets face it guys, you're not here to learn Python, lets face guys ....... @@

  • @drizer4real
    @drizer4real Год назад

    I love that woman. End of discusion. Sorry if that makes me a sexist pig or if it is inappropriate.

  • @tejaspatil3978
    @tejaspatil3978 2 года назад

    this exactly happens in CNN right..?

  • @agx111
    @agx111 5 месяцев назад +1

    wow nice ty 👍🫡