title
How to do Object Detection with OpenCV [LIVE]

description
I'll be using OpenCV + Python to detect strawberries in an image. This will take about 45 minutes and it'll be less than 100 lines of code. Code for this video is here: https://github.com/llSourcell/Object_Detection_demo_LIVE Please subscribe! And like. And comment. That's what keeps me going. More learning resources: http://docs.opencv.org/2.4/doc/tutorials/tutorials.html https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html https://www.youtube.com/watch?v=lJYEup-0gJo https://realpython.com/blog/python/face-recognition-with-python/ https://gravityjack.com/news/opencv-python-3-homebrew/ http://www.simplecv.org/ Join us in the Wizards Slack channel: http://wizards.herokuapp.com And please support me on Patreon!: https://www.patreon.com/user?u=3191693 Follow me: Twitter: https://twitter.com/sirajraval Facebook: https://www.facebook.com/sirajology Instagram: https://www.instagram.com/sirajraval/ Instagram: https://www.instagram.com/sirajraval/ Signup for my newsletter for exciting updates in the field of AI: https://goo.gl/FZzJ5w Hit the Join button above to sign up to become a member of my channel for access to exclusive content! Join my AI community: http://chatgptschool.io/ Sign up for my AI Sports betting Bot, WagerGPT! (500 spots available): https://www.wagergpt.co

detail
{'title': 'How to do Object Detection with OpenCV [LIVE]', 'heatmap': [{'end': 2781.603, 'start': 2745.598, 'weight': 1}], 'summary': 'Tutorial on object detection with opencv discusses detecting and segmenting strawberries, applying image processing techniques, and python functions for strawberry detection, estimated at 100 lines of code and 45 minutes. it also covers strawberry segmentation and the evolution of computer vision, and includes a q&a session on upcoming projects and search algorithm highlights.', 'chapters': [{'end': 500.767, 'segs': [{'end': 113.365, 'src': 'embed', 'start': 63.682, 'weight': 0, 'content': [{'end': 70.387, 'text': "Today we're going to use OpenCV to detect a strawberry in an image.", 'start': 63.682, 'duration': 6.705}, {'end': 73.969, 'text': "And it's going to use no deep learning.", 'start': 71.027, 'duration': 2.942}, {'end': 76.33, 'text': "It's going to use no straight up machine learning.", 'start': 74.029, 'duration': 2.301}, {'end': 77.431, 'text': "It's all OpenCV.", 'start': 76.411, 'duration': 1.02}, {'end': 82.075, 'text': "All right, so that's what we're going to do.", 'start': 79.793, 'duration': 2.282}, {'end': 85.438, 'text': "And I'm here in a co-working space, so that's why the environment is different.", 'start': 82.635, 'duration': 2.803}, {'end': 91.642, 'text': "Okay, so I'm going to start off with a five-minute Q&A, and then we're going to get into the code.", 'start': 85.458, 'duration': 6.184}, {'end': 94.505, 'text': 'All right, so here we go, five-minute Q&A.', 'start': 91.843, 'duration': 2.662}, {'end': 94.705, 'text': 'Hello Hi.', 'start': 94.525, 'duration': 0.18}, {'end': 108.383, 'text': 'How is everybody doing? TensorFlow versus scikit-learn.', 'start': 105.762, 'duration': 2.621}, {'end': 113.365, 'text': 'So TensorFlow for like 95% of anything you want to do.', 'start': 109.624, 'duration': 3.741}], 'summary': 'Using opencv, we will detect a strawberry in an image without deep learning or machine learning, followed by a 5-minute q&a session.', 'duration': 49.683, 'max_score': 63.682, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss63682.jpg'}, {'end': 167.23, 'src': 'embed', 'start': 138.248, 'weight': 2, 'content': [{'end': 139.508, 'text': 'But then for everything else, TensorFlow.', 'start': 138.248, 'duration': 1.26}, {'end': 147.351, 'text': "What's your book about? Decentralized Applications is about building apps that no central entity controls, and everybody gets paid for their data.", 'start': 139.648, 'duration': 7.703}, {'end': 150.732, 'text': "Do you think Google's TPUs will take off? Absolutely.", 'start': 147.911, 'duration': 2.821}, {'end': 155.953, 'text': "Absolutely And we're going to see more hardware focused on neural networks in the future.", 'start': 151.052, 'duration': 4.901}, {'end': 157.114, 'text': "Google's just ahead of the curve.", 'start': 155.974, 'duration': 1.14}, {'end': 162.847, 'text': 'Are you going to show how to set OpenCV up? Yeah, I can do that as well.', 'start': 158.123, 'duration': 4.724}, {'end': 164.047, 'text': 'Yeah, I can do that as well.', 'start': 163.207, 'duration': 0.84}, {'end': 167.23, 'text': 'Are your models deep, so deep that..', 'start': 164.408, 'duration': 2.822}], 'summary': "Book on decentralized apps, google's tpus to take off, future hardware focus on neural networks.", 'duration': 28.982, 'max_score': 138.248, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss138248.jpg'}, {'end': 233.612, 'src': 'embed', 'start': 188.127, 'weight': 3, 'content': [{'end': 192.656, 'text': "And I'll probably do it in English just to be accessible to as many people as possible.", 'start': 188.127, 'duration': 4.529}, {'end': 200.58, 'text': "How are self-driving cars going to cope with third world messy roads? That's a great question.", 'start': 193.117, 'duration': 7.463}, {'end': 203.522, 'text': 'One great example would be India.', 'start': 201.861, 'duration': 1.661}, {'end': 207.524, 'text': 'Trying to think about self-driving cars in India is like, this is never going to happen.', 'start': 203.982, 'duration': 3.542}, {'end': 208.485, 'text': 'But it has to happen.', 'start': 207.544, 'duration': 0.941}, {'end': 212.948, 'text': "And the way it's going to happen is just better algorithms and better data.", 'start': 208.825, 'duration': 4.123}, {'end': 218.492, 'text': "Because that's what we use, right? We have a great algorithm, and we've got great data here of what we see.", 'start': 213.248, 'duration': 5.244}, {'end': 224.796, 'text': "What's the best network for image classification supervised? Then try a convolutional neural network.", 'start': 220.713, 'duration': 4.083}, {'end': 233.612, 'text': 'Image classification? Well, yeah, convolutional nets for anything image-related.', 'start': 228.47, 'duration': 5.142}], 'summary': 'Self-driving cars in india will improve with better algorithms and data.', 'duration': 45.485, 'max_score': 188.127, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss188127.jpg'}, {'end': 334.426, 'src': 'embed', 'start': 300.826, 'weight': 5, 'content': [{'end': 305.148, 'text': "We are going to use OpenCVD to detect strawberries, okay? It's going to be an image of strawberries.", 'start': 300.826, 'duration': 4.322}, {'end': 307.109, 'text': "We're going to use OpenCV alone to detect it.", 'start': 305.348, 'duration': 1.761}, {'end': 308.249, 'text': "It's going to be 100 lines of code.", 'start': 307.129, 'duration': 1.12}, {'end': 309.85, 'text': "We're going to do it in 45 minutes.", 'start': 308.569, 'duration': 1.281}, {'end': 312.671, 'text': "And I'll explain things as we go.", 'start': 310.85, 'duration': 1.821}, {'end': 314.151, 'text': "There's no deep learning coming out.", 'start': 312.711, 'duration': 1.44}, {'end': 317.654, 'text': "There's no deep learning that we're doing right now.", 'start': 316.513, 'duration': 1.141}, {'end': 319.355, 'text': "So let's get started.", 'start': 318.494, 'duration': 0.861}, {'end': 322.097, 'text': "I'll start screen sharing, and then we're just gonna get right into the code.", 'start': 319.495, 'duration': 2.602}, {'end': 325.76, 'text': 'All right, here we go, screen share time.', 'start': 322.798, 'duration': 2.962}, {'end': 334.426, 'text': "Okay, I've got two monitors, so I can move this one over.", 'start': 330.864, 'duration': 3.562}], 'summary': 'Using opencv to detect strawberries in 100 lines of code in 45 minutes, no deep learning involved.', 'duration': 33.6, 'max_score': 300.826, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss300826.jpg'}], 'start': 20.154, 'title': 'Using opencv for strawberry detection', 'summary': "Discusses using opencv for strawberry detection without deep learning, covering topics such as tensorflow, scikit-learn, decentralized applications, google's tpus, and self-driving cars in india. it also highlights the process of importing dependencies and implementing code for strawberry detection using opencv, estimated at 100 lines of code and 45 minutes.", 'chapters': [{'end': 208.485, 'start': 20.154, 'title': 'Using opencv to detect a strawberry', 'summary': "Discusses using opencv to detect a strawberry in an image without deep learning or straight up machine learning, followed by a q&a covering topics such as tensorflow, scikit-learn, decentralized applications, google's tpus, and self-driving cars in india.", 'duration': 188.331, 'highlights': ['Using OpenCV to detect a strawberry without deep learning or machine learning The chapter focuses on using OpenCV to detect a strawberry in an image without the use of deep learning or straight up machine learning, providing an alternative approach.', 'Discussion on TensorFlow and scikit-learn The Q&A session covers the comparison between TensorFlow and scikit-learn, emphasizing the suitability of each for different types of machine learning tasks.', "Topic of decentralized applications and Google's TPUs The discussion includes the topic of decentralized applications and Google's TPUs, highlighting the potential impact and future developments in these areas.", 'Consideration of self-driving cars in India The Q&A addresses the challenges and potential for self-driving cars in countries with complex road conditions, such as India, providing insights into the future of autonomous vehicles.']}, {'end': 500.767, 'start': 208.825, 'title': 'Using opencv for image detection', 'summary': 'Discusses the use of opencv for image detection, highlighting the process of importing dependencies and implementing code for strawberry detection using opencv, with an emphasis on the absence of deep learning in the approach and the estimated length of 100 lines of code and 45 minutes.', 'duration': 291.942, 'highlights': ['The chapter discusses the use of OpenCV for image detection, highlighting the process of importing dependencies and implementing code for strawberry detection using OpenCV. Use of OpenCV for image detection, process of importing dependencies, implementing code for strawberry detection using OpenCV.', 'Emphasis on the absence of deep learning in the approach and the estimated length of 100 lines of code and 45 minutes. Absence of deep learning, estimated length of 100 lines of code and 45 minutes for the process.', 'Discussion on the use of better algorithms and data for image classification and the preference for convolutional neural networks for image-related tasks. Use of better algorithms and data for image classification, preference for convolutional neural networks for image-related tasks.']}], 'duration': 480.613, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss20154.jpg', 'highlights': ['Using OpenCV to detect a strawberry without deep learning or machine learning, providing an alternative approach.', 'Discussion on TensorFlow and scikit-learn, emphasizing the suitability of each for different types of machine learning tasks.', "Topic of decentralized applications and Google's TPUs, highlighting the potential impact and future developments in these areas.", 'Consideration of self-driving cars in India, providing insights into the future of autonomous vehicles.', 'The chapter discusses the use of OpenCV for image detection, highlighting the process of importing dependencies and implementing code for strawberry detection using OpenCV.', 'Emphasis on the absence of deep learning in the approach and the estimated length of 100 lines of code and 45 minutes for the process.', 'Discussion on the use of better algorithms and data for image classification, preference for convolutional neural networks for image-related tasks.']}, {'end': 809.793, 'segs': [{'end': 563.472, 'src': 'embed', 'start': 501.779, 'weight': 0, 'content': [{'end': 505.723, 'text': "So let's go ahead and write our highest level method, okay?", 'start': 501.779, 'duration': 3.944}, {'end': 508.026, 'text': "And we'll call it find strawberry, okay?", 'start': 505.763, 'duration': 2.263}, {'end': 510.748, 'text': "So let me show you guys the image that we're going to be using for this.", 'start': 508.126, 'duration': 2.622}, {'end': 519.33, 'text': "okay?. So the image we're going to be using for this is let's see, it's called Okay, this is it.", 'start': 510.748, 'duration': 8.582}, {'end': 525.512, 'text': "And I'm going to ask you guys to just throw out a strawberry image, and then we'll detect that as well.", 'start': 519.59, 'duration': 5.922}, {'end': 530.014, 'text': "Okay, so I'll ask you that later and we'll see if our code can detect that random one as well.", 'start': 525.572, 'duration': 4.442}, {'end': 533.655, 'text': 'okay?. So this is a strawberry and the idea is we want to be able to segment it.', 'start': 530.014, 'duration': 3.641}, {'end': 538.897, 'text': 'We want to draw an ellipse around it, and then we want to distinguish it from this background.', 'start': 533.675, 'duration': 5.222}, {'end': 540.558, 'text': "So I'll show you guys what this looks like.", 'start': 538.917, 'duration': 1.641}, {'end': 543.759, 'text': "And we're going to be able to apply this to many other images, not just this one.", 'start': 541.178, 'duration': 2.581}, {'end': 547.827, 'text': "This is just an easy image, okay? Okay, and we're going to talk about the math as well.", 'start': 543.779, 'duration': 4.048}, {'end': 549.328, 'text': 'So this is our first method.', 'start': 547.888, 'duration': 1.44}, {'end': 552.409, 'text': "It's our main function, and we're going to use our helper function to do this.", 'start': 549.368, 'duration': 3.041}, {'end': 559.411, 'text': "The first line of code I'm going to write is I'm going to convert our image into the color scheme that we want, okay?", 'start': 552.769, 'duration': 6.642}, {'end': 563.472, 'text': "So that is where OpenCV's convert color function comes in.", 'start': 559.791, 'duration': 3.681}], 'summary': 'Developing a method to detect and segment strawberries in images using opencv.', 'duration': 61.693, 'max_score': 501.779, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss501779.jpg'}, {'end': 740.085, 'src': 'embed', 'start': 715.141, 'weight': 4, 'content': [{'end': 720.828, 'text': 'And we want it to be, We want it to be the right size.', 'start': 715.141, 'duration': 5.687}, {'end': 724.051, 'text': "So to do that, we're going to scale it.", 'start': 721.009, 'duration': 3.042}, {'end': 729.656, 'text': "So we're going to say, okay, let's get the scale of it, because we're going to resize it in a second.", 'start': 724.071, 'duration': 5.585}, {'end': 735.001, 'text': "So we're going to say, out of 700, divide what we just got by 700.", 'start': 729.676, 'duration': 5.325}, {'end': 740.085, 'text': "Why are we doing this? Because the maximum window size that we're going to use is 700 by 660 pixels.", 'start': 735.001, 'duration': 5.084}], 'summary': 'Scaling to fit within 700x660 pixel window size', 'duration': 24.944, 'max_score': 715.141, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss715141.jpg'}], 'start': 501.779, 'title': 'Detecting and segmenting strawberries in images', 'summary': "Covers the creation of a method called find strawberry to detect and segment a strawberry in an image, with the goal of drawing an ellipse around it and distinguishing it from the background, applicable to various images. it also discusses converting an image from bgr to rgb color scheme using opencv's convert color function and scaling the image to fit a maximum window size of 700 by 660 pixels by dividing the current size by 700.", 'chapters': [{'end': 543.759, 'start': 501.779, 'title': 'Method to find strawberry', 'summary': 'Covers the creation of a method called find strawberry to detect and segment a strawberry in an image, with the goal of drawing an ellipse around it and distinguishing it from the background, applicable to various images.', 'duration': 41.98, 'highlights': ['Creation of a method called find strawberry to detect and segment a strawberry in an image', 'Goal to draw an ellipse around the strawberry and distinguish it from the background', 'Applicability of the method to various images']}, {'end': 809.793, 'start': 543.779, 'title': 'Image color conversion and resizing', 'summary': "Discusses converting an image from bgr to rgb color scheme using opencv's convert color function and scaling the image to fit a maximum window size of 700 by 660 pixels by dividing the current size by 700.", 'duration': 266.014, 'highlights': ["OpenCV's convert color function is used to convert the image from BGR to RGB color scheme. The chapter explains the use of OpenCV's convert color function to convert the image from BGR to RGB color scheme.", 'The image is scaled to fit a maximum window size of 700 by 660 pixels by dividing the current size by 700. The transcript discusses the process of scaling the image to fit a maximum window size of 700 by 660 pixels by dividing the current size by 700.']}], 'duration': 308.014, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss501779.jpg', 'highlights': ['Creation of a method called find strawberry to detect and segment a strawberry in an image', 'Goal to draw an ellipse around the strawberry and distinguish it from the background', 'Applicability of the method to various images', "Use of OpenCV's convert color function to convert the image from BGR to RGB color scheme", 'Scaling the image to fit a maximum window size of 700 by 660 pixels by dividing the current size by 700']}, {'end': 1776.721, 'segs': [{'end': 862.734, 'src': 'embed', 'start': 834.479, 'weight': 0, 'content': [{'end': 840.582, 'text': "So I'm going to say image blur equals and I'm going to use OpenCV's function called GaussianBlur.", 'start': 834.479, 'duration': 6.103}, {'end': 847.726, 'text': 'What is this? So GaussianBlur is whenever we want to eliminate noise from an image, we want to smooth the color.', 'start': 841.422, 'duration': 6.304}, {'end': 849.446, 'text': 'So think about a strawberry, right?', 'start': 847.766, 'duration': 1.68}, {'end': 857.971, 'text': "A strawberry can have it's got those little yellow dots on the strawberry, the kind of seed-like things, whatever they are.", 'start': 849.466, 'duration': 8.505}, {'end': 862.734, 'text': 'We want to remove that because we just want to see a pure, clean red image.', 'start': 858.431, 'duration': 4.303}], 'summary': "Using opencv's gaussianblur to remove noise and smooth colors in images.", 'duration': 28.255, 'max_score': 834.479, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss834479.jpg'}, {'end': 931.675, 'src': 'embed', 'start': 904.413, 'weight': 9, 'content': [{'end': 907.256, 'text': "What's the kernel size going to be? Well, it's going to be 7 by 7, because 700 by 700.", 'start': 904.413, 'duration': 2.843}, {'end': 908.438, 'text': 'And so the size of the image.', 'start': 907.256, 'duration': 1.182}, {'end': 922.212, 'text': "And then the last value is going to be 0, which is how much We want to filter it, which we don't really need right now,", 'start': 908.478, 'duration': 13.734}, {'end': 926.273, 'text': 'because the Gaussian Blur by default already does that.', 'start': 922.212, 'duration': 4.061}, {'end': 930.875, 'text': "So the last parameter, we're just going to leave 0, because that's an optional value.", 'start': 926.933, 'duration': 3.942}, {'end': 931.675, 'text': "We don't have to deal with that.", 'start': 930.935, 'duration': 0.74}], 'summary': 'Kernel size: 7x7, image size: 700x700, last value: 0', 'duration': 27.262, 'max_score': 904.413, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss904413.jpg'}, {'end': 1032.643, 'src': 'embed', 'start': 986.613, 'weight': 1, 'content': [{'end': 990.215, 'text': 'Okay, so what is HSV? So HSV format is a different color scheme.', 'start': 986.613, 'duration': 3.602}, {'end': 992.295, 'text': 'But basically, it separates two things.', 'start': 990.495, 'duration': 1.8}, {'end': 999.384, 'text': 'the luma, or the image intensity, from the chroma, or the color information.', 'start': 995.157, 'duration': 4.227}, {'end': 1004.332, 'text': "So we're separating the color from the luma.", 'start': 1001.868, 'duration': 2.464}, {'end': 1007.094, 'text': 'From the brightness of it.', 'start': 1005.313, 'duration': 1.781}, {'end': 1010.855, 'text': "So we just want to focus on color, right? So that's why we're segmenting these things.", 'start': 1007.194, 'duration': 3.661}, {'end': 1018.378, 'text': "RGB and BGR, they don't really separate the luma, or color intensity, from the color itself.", 'start': 1011.255, 'duration': 7.123}, {'end': 1019.898, 'text': "It's just one thing.", 'start': 1018.438, 'duration': 1.46}, {'end': 1021.979, 'text': "So that's what HSV is going to help us with.", 'start': 1019.978, 'duration': 2.001}, {'end': 1026.721, 'text': "So we're going to separate these two, and we're going to filter it based on that, okay? Yeah, exactly.", 'start': 1022.259, 'duration': 4.462}, {'end': 1029.141, 'text': 'Hue, saturation, value.', 'start': 1026.741, 'duration': 2.4}, {'end': 1032.643, 'text': "Okay, so that's what we're going to do for that.", 'start': 1029.642, 'duration': 3.001}], 'summary': 'Hsv separates color and luma, aiding in filtering based on hue, saturation, value.', 'duration': 46.03, 'max_score': 986.613, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss986613.jpg'}, {'end': 1158.983, 'src': 'embed', 'start': 1129.454, 'weight': 4, 'content': [{'end': 1135.632, 'text': "We're going to say 0, 180, okay? That's the minimum amount of redness.", 'start': 1129.454, 'duration': 6.178}, {'end': 1138.893, 'text': 'And the max amount of redness is going to be, again, another numpy array.', 'start': 1135.692, 'duration': 3.201}, {'end': 1141.995, 'text': "And we're going to define, so these are bounding colors.", 'start': 1138.913, 'duration': 3.082}, {'end': 1145.156, 'text': 'So this is the max amount of redness that we want.', 'start': 1143.275, 'duration': 1.881}, {'end': 1149.158, 'text': "So we'll say it's 10, 256, and then 256.", 'start': 1145.477, 'duration': 3.681}, {'end': 1150.239, 'text': "That's as red as we want to get.", 'start': 1149.158, 'duration': 1.081}, {'end': 1152.04, 'text': 'So anything in that range of redness.', 'start': 1150.279, 'duration': 1.761}, {'end': 1158.983, 'text': 'No, I did get a new one shot out.', 'start': 1157.783, 'duration': 1.2}], 'summary': 'Defining minimum and maximum redness levels as 0, 10-256, 256', 'duration': 29.529, 'max_score': 1129.454, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1129454.jpg'}, {'end': 1238.799, 'src': 'embed', 'start': 1213.823, 'weight': 2, 'content': [{'end': 1220.83, 'text': "So we're going to say, okay, so what is that value we just find? Image blur, HSD, min red, and then max red, okay? So min red and max red.", 'start': 1213.823, 'duration': 7.007}, {'end': 1225.094, 'text': "So those are our values for our image blur, right? So that's our first mask.", 'start': 1221.491, 'duration': 3.603}, {'end': 1226.476, 'text': 'We want one more mask.', 'start': 1225.194, 'duration': 1.282}, {'end': 1231.14, 'text': "And that's why we converted to HSD, because we're filtering by not just color but by intensity.", 'start': 1226.776, 'duration': 4.364}, {'end': 1238.799, 'text': "okay?. I did a video for OpenAI, which is Elon's squad, AI squad.", 'start': 1231.14, 'duration': 7.659}], 'summary': 'Values for image blur: hsd, min red, and max red. converted to hsd for filtering by intensity.', 'duration': 24.976, 'max_score': 1213.823, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1213823.jpg'}, {'end': 1417.306, 'src': 'embed', 'start': 1389.229, 'weight': 6, 'content': [{'end': 1395.592, 'text': "We're going to use those maps to separate the strawberry from everything else, okay? That's step five, segmentation.", 'start': 1389.229, 'duration': 6.363}, {'end': 1399.415, 'text': "So we'll call this a kernel, and let me explain that in a second.", 'start': 1395.953, 'duration': 3.462}, {'end': 1406.138, 'text': "Okay, so a kernel is we're going to use OpenCV's get structuring element method.", 'start': 1400.095, 'duration': 6.043}, {'end': 1408.68, 'text': 'And let me define what that is.', 'start': 1406.158, 'duration': 2.522}, {'end': 1410.261, 'text': 'Let me write this up.', 'start': 1408.7, 'duration': 1.561}, {'end': 1417.306, 'text': "And we'll say this is going to be 15 by 15.", 'start': 1415.626, 'duration': 1.68}], 'summary': "Using opencv's get structuring element method for strawberry segmentation with a 15 by 15 kernel.", 'duration': 28.077, 'max_score': 1389.229, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1389229.jpg'}, {'end': 1476.394, 'src': 'embed', 'start': 1442.413, 'weight': 7, 'content': [{'end': 1443.874, 'text': "so we'll segment it all right?", 'start': 1442.413, 'duration': 1.461}, {'end': 1456.608, 'text': "Okay, so we got segmentation and now we're going to say now we're going to do some what's called morphology.", 'start': 1448.066, 'duration': 8.542}, {'end': 1457.408, 'text': 'Let me explain that in a second.', 'start': 1456.628, 'duration': 0.78}, {'end': 1464.129, 'text': "So we're going to say, mask.close morphology X.", 'start': 1457.428, 'duration': 6.701}, {'end': 1471.451, 'text': "So we'll take our mask, we'll take our morph close, and then our kernel.", 'start': 1464.129, 'duration': 7.322}, {'end': 1473.091, 'text': 'Okay, then our kernel.', 'start': 1471.471, 'duration': 1.62}, {'end': 1476.394, 'text': 'Okay, so what is this?', 'start': 1475.433, 'duration': 0.961}], 'summary': 'Segmenting data using morphology with a mask and kernel.', 'duration': 33.981, 'max_score': 1442.413, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1442413.jpg'}, {'end': 1643.507, 'src': 'embed', 'start': 1615.133, 'weight': 8, 'content': [{'end': 1620.716, 'text': "And then this method, find the biggest contour, is going to find the biggest ellipse and say, that's the strawberry we want out of all of them.", 'start': 1615.133, 'duration': 5.583}, {'end': 1623.738, 'text': "So that's what this method is going to do, and we're going to write that in a second.", 'start': 1621.136, 'duration': 2.602}, {'end': 1630.355, 'text': "And we're going to use the mask clean parameter to do that.", 'start': 1625.771, 'duration': 4.584}, {'end': 1632.017, 'text': "So that's going to find the biggest strawberry.", 'start': 1630.395, 'duration': 1.622}, {'end': 1636.221, 'text': "And now we're going to, step seven is to overlay.", 'start': 1632.617, 'duration': 3.604}, {'end': 1643.507, 'text': "We're going to do that to do this.", 'start': 1636.241, 'duration': 7.266}], 'summary': 'Using method to find biggest contour and overlay it.', 'duration': 28.374, 'max_score': 1615.133, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1615133.jpg'}], 'start': 810.153, 'title': 'Image processing techniques in opencv', 'summary': 'Discusses applying opencv techniques including gaussianblur with a 7x7 kernel for noise elimination, hsv format conversion, color-based filtering using numpy arrays, mask creation and overlay, and circling the largest strawberry in the image.', 'chapters': [{'end': 930.875, 'start': 810.153, 'title': 'Image processing with opencv', 'summary': 'Discusses applying opencv techniques to clean and smooth an image using gaussianblur to eliminate noise and achieve a clean, smooth color, with a kernel size of 7 by 7.', 'duration': 120.722, 'highlights': ['GaussianBlur is used to eliminate noise from an image and smooth the color, helping to achieve a clean, smooth color across the image with a kernel size of 7 by 7.', 'The function GaussianBlur is applied to the image to remove unwanted details and smooth the color across a Gaussian distribution.', 'The optional parameter for filtering in GaussianBlur is left as 0, as the function already performs the necessary filtering by default.']}, {'end': 1152.04, 'start': 930.935, 'title': 'Image processing with hsv color scheme', 'summary': 'Explains the conversion of an image to hsv format, separating color from brightness, and filtering by color based on specific redness range using numpy arrays.', 'duration': 221.105, 'highlights': ['The HSV format is used to separate color from brightness, aiding in filtering by color based on specific redness range.', 'Conversion to HSV involves defining minimum and maximum redness values using numpy arrays, such as 0, 180 and 10, 256, respectively.', 'RGB and BGR do not separate color intensity from color itself, unlike HSV, making it suitable for filtering by color based on specific redness range.']}, {'end': 1776.721, 'start': 1157.783, 'title': 'Segmentation and mask overlay', 'summary': 'Covers the process of creating masks to filter by color and brightness, segmenting the image, performing morphology operations to refine the mask, and finding and circling the biggest strawberry in the image.', 'duration': 618.938, 'highlights': ['Creating masks to filter by color and brightness The process involves defining masks based on color values, converting to HSD, and setting minimum and maximum values for red and brightness.', "Segmenting the image using a defined kernel The segmentation involves using OpenCV's get structuring element method to create a 15x15 ellipse-shaped kernel to circle the strawberry.", 'Performing morphology operations to refine the mask The operations include morph close and morph open using the defined kernel to smooth the mask and remove noise in the image.', 'Finding and circling the biggest strawberry in the image The process involves identifying the biggest contour and overlaying the mask on the image to circle the largest strawberry.']}], 'duration': 966.568, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss810153.jpg', 'highlights': ['GaussianBlur is used to eliminate noise from an image and smooth the color, helping to achieve a clean, smooth color across the image with a kernel size of 7 by 7.', 'The HSV format is used to separate color from brightness, aiding in filtering by color based on specific redness range.', 'Creating masks to filter by color and brightness The process involves defining masks based on color values, converting to HSD, and setting minimum and maximum values for red and brightness.', 'The function GaussianBlur is applied to the image to remove unwanted details and smooth the color across a Gaussian distribution.', 'Conversion to HSV involves defining minimum and maximum redness values using numpy arrays, such as 0, 180 and 10, 256, respectively.', 'RGB and BGR do not separate color intensity from color itself, unlike HSV, making it suitable for filtering by color based on specific redness range.', "Segmenting the image using a defined kernel The segmentation involves using OpenCV's get structuring element method to create a 15x15 ellipse-shaped kernel to circle the strawberry.", 'Performing morphology operations to refine the mask The operations include morph close and morph open using the defined kernel to smooth the mask and remove noise in the image.', 'Finding and circling the biggest strawberry in the image The process involves identifying the biggest contour and overlaying the mask on the image to circle the largest strawberry.', 'The optional parameter for filtering in GaussianBlur is left as 0, as the function already performs the necessary filtering by default.']}, {'end': 2761.692, 'segs': [{'end': 1807.22, 'src': 'embed', 'start': 1776.761, 'weight': 1, 'content': [{'end': 1784.006, 'text': "So I'll say circled, circle, contour, and we'll say overlay, big strawberry.", 'start': 1776.761, 'duration': 7.245}, {'end': 1789.99, 'text': 'Yeah, cool, cool.', 'start': 1784.026, 'duration': 5.964}, {'end': 1793.293, 'text': 'Big strawberry.', 'start': 1792.612, 'duration': 0.681}, {'end': 1799.296, 'text': 'Contour, and then, so we circled it.', 'start': 1794.053, 'duration': 5.243}, {'end': 1802.738, 'text': "We'll show it now, and we'll write the show function to show it.", 'start': 1800.036, 'duration': 2.702}, {'end': 1807.22, 'text': "And yeah, the show function is going to show our circle, it's going to show our final result.", 'start': 1803.678, 'duration': 3.542}], 'summary': 'Developing a program to display a circled contour and overlay a big strawberry using the show function.', 'duration': 30.459, 'max_score': 1776.761, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1776761.jpg'}, {'end': 1989.631, 'src': 'embed', 'start': 1957.243, 'weight': 4, 'content': [{'end': 1959.664, 'text': "And that's going to overlay the masks we created on the image.", 'start': 1957.243, 'duration': 2.421}, {'end': 1962.746, 'text': "So we're going to take that cleaned mask, and we're going to apply it to the image.", 'start': 1959.684, 'duration': 3.062}, {'end': 1969.77, 'text': 'And this is the actual application process of applying the masks to the process.', 'start': 1962.786, 'duration': 6.984}, {'end': 1972.611, 'text': 'Okay, so overlay mask on the image.', 'start': 1970.49, 'duration': 2.121}, {'end': 1975.093, 'text': "So let's make the mask RGB.", 'start': 1972.911, 'duration': 2.182}, {'end': 1980.455, 'text': "So let's say rgbMask equals cb2.rgb.", 'start': 1975.113, 'duration': 5.342}, {'end': 1989.631, 'text': "we're going to take that mask and we're going to convert it to grayscale just for this conversion process.", 'start': 1982.286, 'duration': 7.345}], 'summary': 'Applying cleaned mask to image and converting to grayscale for conversion process.', 'duration': 32.388, 'max_score': 1957.243, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1957243.jpg'}, {'end': 2048.742, 'src': 'embed', 'start': 2026.412, 'weight': 2, 'content': [{'end': 2037.318, 'text': "And so, if we just think of both images as arrays, when we add them together, we're adding the weighted sum of of the image values, like the sheer,", 'start': 2026.412, 'duration': 10.906}, {'end': 2038.779, 'text': 'the numerical value of images.', 'start': 2037.318, 'duration': 1.461}, {'end': 2042.7, 'text': 'We just think of images as just raw numbers that just build up into an image that you can see.', 'start': 2038.799, 'duration': 3.901}, {'end': 2048.742, 'text': 'If we add the weighted sum of those, the mask and the original image will get the mask overlaid on top of the image.', 'start': 2043.02, 'duration': 5.722}], 'summary': 'Adding weighted sum of images overlays mask on original image.', 'duration': 22.33, 'max_score': 2026.412, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss2026412.jpg'}, {'end': 2126.929, 'src': 'embed', 'start': 2093.018, 'weight': 0, 'content': [{'end': 2095.679, 'text': 'And we define this function right here.', 'start': 2093.018, 'duration': 2.661}, {'end': 2097.36, 'text': 'Where did I define it? Right here.', 'start': 2096.099, 'duration': 1.261}, {'end': 2098.661, 'text': 'Find the biggest strawberry.', 'start': 2097.58, 'duration': 1.081}, {'end': 2103.683, 'text': "it's going to return the biggest ellipse for that strawberry as well as the mask for those strawberries, okay?", 'start': 2098.661, 'duration': 5.022}, {'end': 2104.944, 'text': "So let's do that right now.", 'start': 2103.943, 'duration': 1.001}, {'end': 2111.467, 'text': "So to find the biggest contour, first we're going to make a copy of the image, right? We want to retain the original image.", 'start': 2105.444, 'duration': 6.023}, {'end': 2117.489, 'text': "And we're going to retain the original image, but we want a copy of it so we can modify it.", 'start': 2113.167, 'duration': 4.322}, {'end': 2126.929, 'text': "And this is where Open TV's image copy Function comes really comes really handy We could copy the image, but then keep the other one separate.", 'start': 2117.749, 'duration': 9.18}], 'summary': 'Function to find the biggest strawberry and its mask using image copy function.', 'duration': 33.911, 'max_score': 2093.018, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss2093018.jpg'}], 'start': 1776.761, 'title': 'Image processing and python functions for strawberry detection', 'summary': 'Covers circling, contouring, and overlaying a big strawberry, defining color, writing show and overlay mask functions, and creating helper functions for detecting and isolating the largest contour of strawberries. it demonstrates the process of converting images and overlaying masks in python, using matplotlib to display images, and showcases the functionality of the code.', 'chapters': [{'end': 1863.497, 'start': 1776.761, 'title': 'Image processing with helper methods', 'summary': 'Covers the process of circling, contouring, and overlaying a big strawberry, showcasing a show function for displaying the circle and the final result, and concluding with converting the image back to its original color scheme using the cb2 color and rgb2bgr methods.', 'duration': 86.736, 'highlights': ['The main method involves circling, contouring, and overlaying a big strawberry, with a show function to display the circle and the final result.', 'The last step is to convert the image back to its original color scheme using the CB2 color and RGB2BGR methods.', 'The process also includes writing helper methods after the main method is defined.']}, {'end': 2076.13, 'start': 1863.537, 'title': 'Python image processing functions', 'summary': 'Covers defining color, writing show and overlay mask functions, using matplotlib to show images, and converting and overlaying masks onto images in python.', 'duration': 212.593, 'highlights': ['The show function is defined to display an image using Matplotlib, requiring only one or two lines of code. The show function is created to display images using Matplotlib, requiring only one or two lines of code.', 'The overlay mask function is explained, involving the conversion of masks to RGB and overlaying them onto images. The overlay mask function involves the conversion of masks to RGB and overlaying them onto images.', 'The process of converting masks to grayscale and using add weighted to overlay masks onto images is detailed, providing insights into the numerical manipulation of images. The process of converting masks to grayscale and using add weighted to overlay masks onto images is detailed, providing insights into the numerical manipulation of images.']}, {'end': 2761.692, 'start': 2076.612, 'title': 'Strawberry image processing', 'summary': "Details the creation of helper functions for detecting and isolating the largest contour of strawberries using opencv, covering topics such as image copying, contour detection, contour isolation, and ellipse fitting, with a demonstration of the code's functionality.", 'duration': 685.08, 'highlights': ["The chapter details the creation of helper functions for detecting and isolating the largest contour of strawberries using OpenCV, covering topics such as image copying, contour detection, contour isolation, and ellipse fitting, with a demonstration of the code's functionality.", "The function 'find the biggest contour' is defined to return the largest ellipse for a strawberry as well as the mask for those strawberries.", "OpenCV's 'findContours' function is utilized to find contours based on the image and specific values, retrieveList, and chainApproxSimple, compressing the segments and leaving only endpoints.", "The process of isolating the largest contour involves obtaining the contour sizes and using Python's built-in 'max' function to detect the biggest contour.", "The 'circle contour' function defines the shape of the ellipse, fits the ellipse to the contour, and adds it to the image with specified attributes, followed by a demonstration and error debugging."]}], 'duration': 984.931, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss1776761.jpg', 'highlights': ["The chapter details the creation of helper functions for detecting and isolating the largest contour of strawberries using OpenCV, covering topics such as image copying, contour detection, contour isolation, and ellipse fitting, with a demonstration of the code's functionality.", 'The main method involves circling, contouring, and overlaying a big strawberry, with a show function to display the circle and the final result.', 'The process of converting masks to grayscale and using add weighted to overlay masks onto images is detailed, providing insights into the numerical manipulation of images.', "The function 'find the biggest contour' is defined to return the largest ellipse for a strawberry as well as the mask for those strawberries.", 'The overlay mask function is explained, involving the conversion of masks to RGB and overlaying them onto images.']}, {'end': 3048.891, 'segs': [{'end': 2954.907, 'src': 'embed', 'start': 2924.379, 'weight': 0, 'content': [{'end': 2925.88, 'text': "Let's see what happens here, fun.py.", 'start': 2924.379, 'duration': 1.501}, {'end': 2931.401, 'text': "Okay, and now we'll open yotest2.jpeg, see what it did.", 'start': 2925.9, 'duration': 5.501}, {'end': 2935.853, 'text': 'OK, so it just circled the entire thing.', 'start': 2932.711, 'duration': 3.142}, {'end': 2940.217, 'text': "And it's because these strawberries were bunched together so well.", 'start': 2936.414, 'duration': 3.803}, {'end': 2945.5, 'text': 'We can further improve on this to make sure that it only segments the best one.', 'start': 2940.797, 'duration': 4.703}, {'end': 2949.964, 'text': "Our code is ideal if the strawberries aren't touching, but these are touching.", 'start': 2946.381, 'duration': 3.583}, {'end': 2950.985, 'text': "So that's that.", 'start': 2950.324, 'duration': 0.661}, {'end': 2954.907, 'text': "And there's one more thing I want to say about this.", 'start': 2952.786, 'duration': 2.121}], 'summary': 'Code segments strawberries; aims to improve accuracy and segmentation', 'duration': 30.528, 'max_score': 2924.379, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss2924379.jpg'}, {'end': 3031.613, 'src': 'embed', 'start': 3001.571, 'weight': 1, 'content': [{'end': 3003.473, 'text': 'It was all of computer vision, but then deep learning showed up.', 'start': 3001.571, 'duration': 1.902}, {'end': 3005.815, 'text': 'And now, deep learning is slowly taking over.', 'start': 3003.713, 'duration': 2.102}, {'end': 3008.538, 'text': 'So right now, you can use a little bit of OpenCV and a little bit of deep learning.', 'start': 3005.935, 'duration': 2.603}, {'end': 3011.52, 'text': "But eventually, deep learning will just take over, and it'll all be deep learning.", 'start': 3008.898, 'duration': 2.622}, {'end': 3016.265, 'text': 'So right now, what I mean by that is, well, we can use OpenCV to segment a strawberry.', 'start': 3012.001, 'duration': 4.264}, {'end': 3019.195, 'text': 'And then we could use deep learning to identify it as a strawberry.', 'start': 3016.772, 'duration': 2.423}, {'end': 3021.599, 'text': 'So we could say, OK, this is a strawberry in a picture.', 'start': 3019.316, 'duration': 2.283}, {'end': 3022.8, 'text': 'Write a circle around it.', 'start': 3021.879, 'duration': 0.921}, {'end': 3028.749, 'text': 'And then use deep learning to detect, well, what is the name of that thing? OK, so we say we can define the shape and color of something.', 'start': 3022.981, 'duration': 5.768}, {'end': 3031.613, 'text': 'And then we could say, well, use deep learning to recognize what that is.', 'start': 3028.769, 'duration': 2.844}], 'summary': 'Deep learning is gradually taking over computer vision, with the potential to identify and segment objects more accurately.', 'duration': 30.042, 'max_score': 3001.571, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss3001571.jpg'}, {'end': 3060.64, 'src': 'embed', 'start': 3033.359, 'weight': 2, 'content': [{'end': 3037.622, 'text': 'And also deep learning is computationally expensive, right? So sometimes you want a quick and dirty solution.', 'start': 3033.359, 'duration': 4.263}, {'end': 3040.445, 'text': "You just want to segment an image and you don't want to have to.", 'start': 3037.843, 'duration': 2.602}, {'end': 3046.029, 'text': "and although deep learning learns features, you just want to encode those features yourself, because it's something simple you're doing.", 'start': 3040.445, 'duration': 5.584}, {'end': 3047.27, 'text': 'OpenCV is great for that.', 'start': 3046.309, 'duration': 0.961}, {'end': 3048.891, 'text': "So yeah, so that's that.", 'start': 3048.151, 'duration': 0.74}, {'end': 3053.595, 'text': "And let me do a five minute Q&A at the end, and then we'll, and then that's it for the live stream.", 'start': 3049.372, 'duration': 4.223}, {'end': 3056.357, 'text': "Any other questions? Oh, it's only backwards for me.", 'start': 3053.655, 'duration': 2.702}, {'end': 3057.398, 'text': "You're right, you're right.", 'start': 3056.437, 'duration': 0.961}, {'end': 3058.439, 'text': 'I forgot about that.', 'start': 3057.898, 'duration': 0.541}, {'end': 3060.64, 'text': 'Yeah, shipment is awesome.', 'start': 3059.84, 'duration': 0.8}], 'summary': 'Deep learning is computationally expensive, opencv is great for quick and simple image segmentation.', 'duration': 27.281, 'max_score': 3033.359, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss3033359.jpg'}], 'start': 2763.188, 'title': 'Strawberry segmentation and evolution of computer vision', 'summary': 'Covers image processing for strawberry segmentation, including color scheme conversion, image scaling, gaussian blur, filter definition, segmentation, and image overlay. it also explores the evolution from opencv to deep learning in computer vision, emphasizing the potential for using a combination of opencv and deep learning for different tasks and the computational expenses of deep learning.', 'chapters': [{'end': 2950.985, 'start': 2763.188, 'title': 'Image processing for strawberry segmentation', 'summary': 'Discusses a code that processes images to segment strawberries, involving steps such as color scheme conversion, image scaling, gaussian blur, filter definition, segmentation, and image overlay, resulting in the ability to identify and highlight strawberries in images.', 'duration': 187.797, 'highlights': ['The code involves converting the color scheme from BGR to RGB and scaling the image to fit within a 700x700 window size.', 'A Gaussian blur function is applied to the image to smooth it and focus on a single color scheme, such as red, while filtering for minimum and maximum red and brightness values.', 'The code segments the strawberry from the rest of the image, overlays a mask, circles the biggest strawberry, and finally shows the result, demonstrating its ability to identify and highlight strawberries in images.']}, {'end': 3048.891, 'start': 2952.786, 'title': 'Evolution of computer vision', 'summary': 'Discusses the evolution from opencv to deep learning in computer vision, highlighting how deep learning is gradually taking over and the potential for using a combination of opencv and deep learning for different tasks, with a focus on the computational expenses of deep learning.', 'duration': 96.105, 'highlights': ['Deep learning is gradually taking over from OpenCV in computer vision, allowing for tasks such as segmenting and identifying objects in images, with the potential for a combination of OpenCV and deep learning for different tasks (e.g., segmenting with OpenCV and identifying with deep learning).', 'The discussion also emphasizes the computational expenses of deep learning, highlighting the need for quick and efficient solutions for image processing tasks where OpenCV can be beneficial.', 'The chapter also mentions the extensive research and methods available in OpenCV, showcasing its historical significance in computer vision.']}], 'duration': 285.703, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss2763188.jpg', 'highlights': ['The code segments the strawberry from the rest of the image, overlays a mask, circles the biggest strawberry, and finally shows the result, demonstrating its ability to identify and highlight strawberries in images.', 'Deep learning is gradually taking over from OpenCV in computer vision, allowing for tasks such as segmenting and identifying objects in images, with the potential for a combination of OpenCV and deep learning for different tasks (e.g., segmenting with OpenCV and identifying with deep learning).', 'The discussion also emphasizes the computational expenses of deep learning, highlighting the need for quick and efficient solutions for image processing tasks where OpenCV can be beneficial.']}, {'end': 3301.259, 'segs': [{'end': 3091.543, 'src': 'embed', 'start': 3049.372, 'weight': 0, 'content': [{'end': 3053.595, 'text': "And let me do a five minute Q&A at the end, and then we'll, and then that's it for the live stream.", 'start': 3049.372, 'duration': 4.223}, {'end': 3056.357, 'text': "Any other questions? Oh, it's only backwards for me.", 'start': 3053.655, 'duration': 2.702}, {'end': 3057.398, 'text': "You're right, you're right.", 'start': 3056.437, 'duration': 0.961}, {'end': 3058.439, 'text': 'I forgot about that.', 'start': 3057.898, 'duration': 0.541}, {'end': 3060.64, 'text': 'Yeah, shipment is awesome.', 'start': 3059.84, 'duration': 0.8}, {'end': 3065.076, 'text': "Will you make a series where you build a robot using AI? Yes, that's coming up.", 'start': 3061.974, 'duration': 3.102}, {'end': 3066.577, 'text': "I'm going to use a drone.", 'start': 3065.636, 'duration': 0.941}, {'end': 3072.101, 'text': "Will you make any Google search algorithm? That's a great idea.", 'start': 3067.998, 'duration': 4.103}, {'end': 3074.742, 'text': "That's a great idea, Apoorv.", 'start': 3072.121, 'duration': 2.621}, {'end': 3075.583, 'text': 'I never thought about that.', 'start': 3074.842, 'duration': 0.741}, {'end': 3077.724, 'text': 'I should do a search algorithm.', 'start': 3075.643, 'duration': 2.081}, {'end': 3081.847, 'text': "What was your big announcement last Friday? Wait two days, it's coming out.", 'start': 3078.505, 'duration': 3.342}, {'end': 3083.828, 'text': "Dead hype, it's coming out this Friday.", 'start': 3082.267, 'duration': 1.561}, {'end': 3087.19, 'text': 'Come hell or high water, it is coming out this Friday.', 'start': 3084.248, 'duration': 2.942}, {'end': 3091.543, 'text': "Is your release more videos? I'm on that.", 'start': 3089.181, 'duration': 2.362}], 'summary': 'Plans for future content include building a robot using ai and developing a google search algorithm, with a big announcement set for this friday.', 'duration': 42.171, 'max_score': 3049.372, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss3049372.jpg'}, {'end': 3147.765, 'src': 'embed', 'start': 3115.325, 'weight': 3, 'content': [{'end': 3119.148, 'text': 'Make a search algorithm that would find the most complete answer to any question.', 'start': 3115.325, 'duration': 3.823}, {'end': 3121.95, 'text': "Yeah, I'll add that to the search algorithm video I made.", 'start': 3120.048, 'duration': 1.902}, {'end': 3124.051, 'text': 'Please make a dedicated video for Q&A section.', 'start': 3122.23, 'duration': 1.821}, {'end': 3125.292, 'text': "I'll do that in the future.", 'start': 3124.151, 'duration': 1.141}, {'end': 3127.053, 'text': 'Can I get a shout out? Hi, JD.', 'start': 3125.772, 'duration': 1.281}, {'end': 3133.598, 'text': "Can you recommend CNTK? I wouldn't recommend CNTK, actually.", 'start': 3127.233, 'duration': 6.365}, {'end': 3134.519, 'text': 'I would recommend TensorFlow.', 'start': 3133.618, 'duration': 0.901}, {'end': 3137.06, 'text': 'Yes, please support me with Patreon.', 'start': 3135.8, 'duration': 1.26}, {'end': 3138.602, 'text': "I'm not for sale, exactly.", 'start': 3137.501, 'duration': 1.101}, {'end': 3139.442, 'text': 'Thank you, JD.', 'start': 3138.802, 'duration': 0.64}, {'end': 3147.765, 'text': 'Is there a simple way in OpenCV to get the total variation for hue and saturation? Yes, there is.', 'start': 3139.682, 'duration': 8.083}], 'summary': 'Create search algorithm for comprehensive answers. recommend tensorflow over cntk. opencv has simple method for variation.', 'duration': 32.44, 'max_score': 3115.325, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss3115325.jpg'}, {'end': 3252.577, 'src': 'embed', 'start': 3229.727, 'weight': 5, 'content': [{'end': 3237.271, 'text': "it's about Telling yourself and believing in yourself that you can know this, you do know this and you can build something with it.", 'start': 3229.727, 'duration': 7.544}, {'end': 3238.732, 'text': "And so that's what I'm here to help you with.", 'start': 3237.511, 'duration': 1.221}, {'end': 3242.133, 'text': "I'm here to inspire you guys, guide you guys on this journey that we are all on.", 'start': 3238.752, 'duration': 3.381}, {'end': 3243.574, 'text': "okay?. We're all learning, okay?", 'start': 3242.133, 'duration': 1.441}, {'end': 3248.876, 'text': 'So one more research internship or internship in a startup?', 'start': 3243.914, 'duration': 4.962}, {'end': 3251.437, 'text': "That's a great question.", 'start': 3250.677, 'duration': 0.76}, {'end': 3252.577, 'text': "It depends what you're doing in the startup.", 'start': 3251.477, 'duration': 1.1}], 'summary': 'Inspire and guide on the journey of learning, offering insights on research internships and startup roles.', 'duration': 22.85, 'max_score': 3229.727, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss3229727.jpg'}, {'end': 3299.917, 'src': 'embed', 'start': 3267.256, 'weight': 6, 'content': [{'end': 3270.956, 'text': "Okay, so if Reddit contacts me or somebody, I'm gonna say, well, I know the CEO, he's a cool guy.", 'start': 3267.256, 'duration': 3.7}, {'end': 3274.337, 'text': "Okay, so that's it for this Q&A and for this live session.", 'start': 3271.136, 'duration': 3.201}, {'end': 3275.657, 'text': 'I love you guys so much.', 'start': 3274.657, 'duration': 1}, {'end': 3276.557, 'text': 'Thank you for watching.', 'start': 3275.697, 'duration': 0.86}, {'end': 3279.718, 'text': 'Something cool is coming out on Friday.', 'start': 3278.378, 'duration': 1.34}, {'end': 3281.038, 'text': "It's happening this Friday.", 'start': 3279.818, 'duration': 1.22}, {'end': 3282.019, 'text': 'Come hell or high water.', 'start': 3281.078, 'duration': 0.941}, {'end': 3283.839, 'text': "I'm making this promise to you guys.", 'start': 3282.299, 'duration': 1.54}, {'end': 3285.162, 'text': "It's going to be awesome.", 'start': 3284.301, 'duration': 0.861}, {'end': 3293.371, 'text': 'And thank you so much for doing this, for being here.', 'start': 3286.103, 'duration': 7.268}, {'end': 3299.917, 'text': "So for now, I've got to find a place with better lighting, because I love natural lighting.", 'start': 3293.611, 'duration': 6.306}], 'summary': 'Upcoming release on friday, promises something awesome, thanks audience for being there.', 'duration': 32.661, 'max_score': 3267.256, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss3267256.jpg'}], 'start': 3049.372, 'title': 'Content creator q&a and search algorithm highlights', 'summary': 'Involves a q&a session with a content creator highlighting upcoming projects such as building a robot using ai, developing a google search algorithm, and a big announcement, along with insights on search algorithms, neural nets in opencv, learning tips, and an upcoming reddit ama.', 'chapters': [{'end': 3113.197, 'start': 3049.372, 'title': 'Content creator q&a highlights', 'summary': 'Involves a q&a session where the content creator discusses upcoming projects, including building a robot using ai, developing a google search algorithm, and a big announcement set for release on friday, emphasizing the authenticity and personal involvement in scriptwriting for future videos.', 'duration': 63.825, 'highlights': ['The content creator plans to build a robot using AI, and a drone will be used for this project.', 'Consideration is given to developing a Google search algorithm, expressing enthusiasm for the idea.', 'An upcoming big announcement is scheduled for release on Friday, with strong assurance of its arrival.', 'The content creator emphasizes the personal involvement in scriptwriting for videos, asserting to speak only words that come from the heart, soul, and mind.']}, {'end': 3301.259, 'start': 3115.325, 'title': 'Search algorithm q&a and learning tips', 'summary': 'Discusses a q&a session on various topics including search algorithms, neural nets in opencv, learning tips, and an announcement of an upcoming reddit ama.', 'duration': 185.934, 'highlights': ['The speaker discusses the search algorithm and plans to add it to a video, while also considering creating a dedicated video for the Q&A section.', 'The recommendation against using CNTK and preference for TensorFlow is highlighted, indicating a preference for the latter.', 'The speaker shares learning tips, emphasizing the importance of self-belief and independent learning, advocating for a shift in the traditional approach to learning.', 'The announcement of an upcoming Reddit AMA is highlighted, indicating potential interest in participating and a promise of an exciting event.']}], 'duration': 251.887, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/OnWIYI6-4Ss/pics/OnWIYI6-4Ss3049372.jpg', 'highlights': ['The content creator plans to build a robot using AI, and a drone will be used for this project.', 'Consideration is given to developing a Google search algorithm, expressing enthusiasm for the idea.', 'An upcoming big announcement is scheduled for release on Friday, with strong assurance of its arrival.', 'The speaker discusses the search algorithm and plans to add it to a video, while also considering creating a dedicated video for the Q&A section.', 'The recommendation against using CNTK and preference for TensorFlow is highlighted, indicating a preference for the latter.', 'The speaker shares learning tips, emphasizing the importance of self-belief and independent learning, advocating for a shift in the traditional approach to learning.', 'The announcement of an upcoming Reddit AMA is highlighted, indicating potential interest in participating and a promise of an exciting event.']}], 'highlights': ['Deep learning is gradually taking over from OpenCV in computer vision, allowing for tasks such as segmenting and identifying objects in images, with the potential for a combination of OpenCV and deep learning for different tasks (e.g., segmenting with OpenCV and identifying with deep learning).', "The chapter details the creation of helper functions for detecting and isolating the largest contour of strawberries using OpenCV, covering topics such as image copying, contour detection, contour isolation, and ellipse fitting, with a demonstration of the code's functionality.", 'The content creator plans to build a robot using AI, and a drone will be used for this project.', 'The HSV format is used to separate color from brightness, aiding in filtering by color based on specific redness range.', 'The process of converting masks to grayscale and using add weighted to overlay masks onto images is detailed, providing insights into the numerical manipulation of images.', "The function 'find the biggest contour' is defined to return the largest ellipse for a strawberry as well as the mask for those strawberries.", 'The optional parameter for filtering in GaussianBlur is left as 0, as the function already performs the necessary filtering by default.', 'The discussion also emphasizes the computational expenses of deep learning, highlighting the need for quick and efficient solutions for image processing tasks where OpenCV can be beneficial.', 'The speaker shares learning tips, emphasizing the importance of self-belief and independent learning, advocating for a shift in the traditional approach to learning.', 'The process involves defining masks based on color values, converting to HSD, and setting minimum and maximum values for red and brightness.']}