Farbod pm

Color Detection using HSV image in python,Opencv

Today, we are going to talk about color detection in opencv using python. As you know RGB format is a very regular color format these days. But there are other image color spaces that each one has their own advantages and disadvantages. In this situation , HSV color space would be very useful because of showing the colors. For more information check wikipedia.

Now, we are talking about the code. First of all we have to read the image using imread function. Then changing the color space using cvtColor function and after all some noise reduction using erosion and dilate functions.

import cv2
import numpy as np 
from google.colab.patches import cv2_imshow


img = cv2.imread("/content/JSjbB.png")
cv2_imshow(img)
img_output = img
cv2_imshow(img_output)
frame_hsv = cv2.cvtColor(img_output, cv2.COLOR_BGR2HSV)
frame_hsv_blur = cv2.GaussianBlur(frame_hsv, (7, 7), 0)
#print(frame_hsv_blur)
lower_values = np.array([130, 100,0])
upper_values = np.array([170,255, 255])
mask = cv2.inRange(frame_hsv_blur, lower_values, upper_values)
cv2_imshow(mask)
kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(mask,kernel,iterations = 3)
dilation = cv2.dilate(erosion,kernel,iterations = 3)
cv2_imshow(dilation)

The result will be some thing like this.

last result

And this would be tha result before erosion and dilate.

Error invalid device function

This error may occurs when the gpu setting is wrong. In my experience I have chosen wrong “Generate PTX code” and “Generate GPU code” version. If you are directly running the code on your local device you can check the right version on “properties -> build -> Settings -> cuda” when you see the below pic it means that you have chosen the right version.
** remember clean the project and rebuild it to see the changes.

Feel free and ask your questions or share your experiences with us.

GPU Programming in Ubuntu ,Cuda Installation

General-purpose computing on a graphics processing unit, known as GPU programming, is use of a GPU with CPU to accelerate computation. Today application of GPU programming is image processing, Signal processing, medical imaging and so on. This article show you how to install Cuda platform on your system.

Verify You Have a Supported Version of Linux

First of all you have to determine which distribution and release number you’re running. Type the following at command line:
$ uname -m && cat /etc/*release
you should see output similar to the following, modified for your particular system:
x86_64
Red Hat Enterprise Linux Workstation release 6.0
The x86_64 line indicates you are running on a 64-bit system.

Verify the System Has gcc Installed

To verify the version of gcc installed on your system, type the following on the command line:
$ gcc –version
Something like below should returned:

if an error message displays , you need to install the development tools from your Linux distribution or obtain a version of gcc and its accompanying toolchain from the web.

Verify the System Has the Correct Kernel Headers and Development Packages Installed

The kernel headers and development packages for the currently running kernel can be installed with:
$ sudo apt-get install kernel-headers-$(uname -r)
$ uname -r returns the version of the kernel your system is running.

Download the NVIDIA CUDA Toolkit

Download your desired installation file from here. After installation verify your file using this code:
$ md5sum <file address>
it takes a while and the result should be like below:

Before installation it’s better to uninstall every other CUDA toolkit using this code:
$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
and uninstall CUDA driver using below:
$ sudo /usr/bin/nvidia-uninstall
( I did not do it but according to nvidia document you have to do it. Also I am not sure that I had cuda driver or toolkit before.)

Finally, install cuda with code:
$ sudo sh cuda_<version>_linux.run

ربات‌های پرنده شرکت DJI

امروز درباره دنیای ربات‌های پرنده صحبت می‌کنیم. دنیای امروز ما در حال تغییره. هر روزه ربات های زیادی با اهداف مختلف وارد بازار می‌شوند. در صنعت کشاورزی ،صنعت ساختمان ربات های پرنده میخوان خودشون رو جا کنند. برای همینه که ما سعی داریم در اینجا به اونها بپردازیم. در کشور ما،ایران، ربات های پرنده در زمینه فیلم برداری هوایی و امداد و نجات و حتی کشاورزی داره استفاده میشه. استفاده از ربات های سمپاش و صبت اختراع اون در جهان نشونه پیشرفت این ربات در کشور ماست. خب شاید بپرسید که این اطلاعات چه ربطی به شرکت DJI داره. علت این بحث اینه که نیاز استفاده از ربات پرنده در شما ایجاد بشه بعد از اون به سراغ یکی از قوی ترین شرکت های فعال در حوزه ربات های پرنده.

از زمانی که من در زمینه ربات پرنده کار کردم، یعنی چیزی حدود ۶ یا ۷ سال پیش شرکت DJI در زمینه ربات های پرنده بهترین بوده. محصولات این شرکت رو به دو دسته محصولات آماده تجاری که شامل ربات های آماده میشه و محصولات تخصصی که هدفش ساخت ربات های پرنده توسط مهندسین هست دسته بندی کرد. ربات های آماده و هوشمند فانتوم و مویک برای فیلم برداری و نقشه برداری های کوچیک خیلی مناسب هستند. کارباهاشون راحته و به دلیل هوشمندی بالا پرواز کردن با اون ها امنه. نمونه های زیادی از این دو مدل ربات داخل بازار هست که قیمت زیادی دارند، اما به دلیل امنیت بالا خیلی ها تمایل به استفاده ازشون رو دارند.

نوع دیگر ربات ها ربات های پشینهادی شرکت DJI هست که برای هر کاربرد جنس بدنه توان مصرفی موتور هامتفاوته. مثلا برای یک ربات معمولی که بتونه وزن ۱ کیلوگرم رو جابه جا کنه بدنه f450 بهترین گزینه است. این بدنه با ۴ موتور 2212 میتونه علاوه بر وزت ربات یه دوربین یا یه قطعه تا ۱ کیلوگرم رو حمل کنه. برای تفریحات خوبه و حتی برای فیلم برداری. اما خب به دلیل این که هوشمند نیست نیاز به خلبان ماهر داره با یک دوربین خوب و گیمبال مناسب هزینه فیلم برداری تا ۱۰ میلیون میره در صورتی که اگر بخواید از ربات آماده فانتوم استفاده کنین چیزی حدود ۲۰ میلیون باید خرج کنین. البته شاید مدل های دست دوم ربات فانتوم برای شما مقرون به صرفه تر باشه. انتخاب با خود شماست.نمونه های سه موتوره این سری از بدنه با عدد ۳۵۰ و نمونه های شش موتوره اون با سری ۵۵۰ توی بازار شناخته می‌شن.

سری دیگه از ربات های پیشنهادی این شرکت ربات های سری S هستند که ربات S1000 نمونه قدیمی تر اونه و ربات S1200 نمونه جدید تر. این ربات قابلیت این رو داره که چیزی حدود ۱۰ کیلوگرم وزن رو حمل کنه. این پرنده هشت موتوره با موتور های قدرتمندش مخصوص حمل وسایل و تجهیزات بزرگه.

DJI Drones

ربات‌های پرنده شرکت DJI

امروز درباره دنیای ربات‌های پرنده صحبت می‌کنیم. دنیای امروز ما در حال تغییره. هر روزه ربات های زیادی با اهداف مختلف وارد بازار می‌شوند. در صنعت کشاورزی ،صنعت ساختمان ربات های پرنده میخوان خودشون رو جا کنند. برای همینه که ما سعی داریم در اینجا به اونها بپردازیم. در کشور ما،ایران، ربات های پرنده در زمینه فیلم برداری هوایی و امداد و نجات و حتی کشاورزی داره استفاده میشه. استفاده از ربات های سمپاش و صبت اختراع اون در جهان نشونه پیشرفت این ربات در کشور ماست. خب شاید بپرسید که این اطلاعات چه ربطی به شرکت DJI داره. علت این بحث اینه که نیاز استفاده از ربات پرنده در شما ایجاد بشه بعد از اون به سراغ یکی از قوی ترین شرکت های فعال در حوزه ربات های پرنده.

از زمانی که من در زمینه ربات پرنده کار کردم، یعنی چیزی حدود ۶ یا ۷ سال پیش شرکت DJI در زمینه ربات های پرنده بهترین بوده. محصولات این شرکت رو به دو دسته محصولات آماده تجاری که شامل ربات های آماده میشه و محصولات تخصصی که هدفش ساخت ربات های پرنده توسط مهندسین هست دسته بندی کرد. ربات های آماده و هوشمند فانتوم و مویک برای فیلم برداری و نقشه برداری های کوچیک خیلی مناسب هستند. کارباهاشون راحته و به دلیل هوشمندی بالا پرواز کردن با اون ها امنه. نمونه های زیادی از این دو مدل ربات داخل بازار هست که قیمت زیادی دارند، اما به دلیل امنیت بالا خیلی ها تمایل به استفاده ازشون رو دارند.

نوع دیگر ربات ها ربات های پشینهادی شرکت DJI هست که برای هر کاربرد جنس بدنه توان مصرفی موتور هامتفاوته. مثلا برای یک ربات معمولی که بتونه وزن ۱ کیلوگرم رو جابه جا کنه بدنه f450 بهترین گزینه است. این بدنه با ۴ موتور 2212 میتونه علاوه بر وزت ربات یه دوربین یا یه قطعه تا ۱ کیلوگرم رو حمل کنه. برای تفریحات خوبه و حتی برای فیلم برداری. اما خب به دلیل این که هوشمند نیست نیاز به خلبان ماهر داره با یک دوربین خوب و گیمبال مناسب هزینه فیلم برداری تا ۱۰ میلیون میره در صورتی که اگر بخواید از ربات آماده فانتوم استفاده کنین چیزی حدود ۲۰ میلیون باید خرج کنین. البته شاید مدل های دست دوم ربات فانتوم برای شما مقرون به صرفه تر باشه. انتخاب با خود شماست.نمونه های سه موتوره این سری از بدنه با عدد ۳۵۰ و نمونه های شش موتوره اون با سری ۵۵۰ توی بازار شناخته می‌شن.

سری دیگه از ربات های پیشنهادی این شرکت ربات های سری S هستند که ربات S1000 نمونه قدیمی تر اونه و ربات S1200 نمونه جدید تر. این ربات قابلیت این رو داره که چیزی حدود ۱۰ کیلوگرم وزن رو حمل کنه. این پرنده هشت موتوره با موتور های قدرتمندش مخصوص حمل وسایل و تجهیزات بزرگه.

مقایسه بدنه F550 و S1000

این شرکت علاوه بر بدنه و موتور تجهیزات دیگه ای شامل رادیوکنترلر دوربین و نگه دارنده های اون و کنترلر ها داره که داخل پست های بعدی به اونها اشاره خواهم کرد.

Learn robotics!

The world is moving so fast that you never know what tomorrow has for you. You have to start today and learn more. No matter what age you or your child have, it’s never too late to learn, also it’s never too soon to learn! You just have to learn robotics, otherwise you will only be a user.

I’m a robotics teacher, we can learn it together. I have teached robotics at many places and to every ages. In Shahreza University teached robotics basis to university students and in Tesla institute I teached quadcopter basis to 12-15 years old students. I have also have held private classes.

No matter what you want to learn about robotics, you can always count on me!

QuadCopter

QuadCopter was the first robot that I made. Working with these robots is fun but it’s not the only reason you should learn making them. They have the future. I believe that one day we use them in the place of cars, postmen, cameramen and many other jobs. They already help human at many things like finding people at disasters or drawing plans. Some countries for example china has made drone taxi. Although we can’t see any quadcopter taxi in the sky right now but one day they become as popular as the cars. These robots also will be used in battlefields, hopefully on the good side!

Although It is really fun to make these robots, the price is really high, but still I choose Quad Rotor for my working field. You can see my robot in the picture below. you can also find one of my certificates here.<img src="DSC_1574.jpg" alt="quadcopter of ui-ai team ">

As you may have noticed automation is one of the most popular subjects lately. Quad rotor automation is also one of the most challenging fields. I started image processing about five years ago to make an intelligent robot which can go inside a house and draw its map. I learned many things on this way and I am really excited to learn more everyday!

IMAV 2016

IMAV is a yearly robotics event which is about micro air vehicles. In 2016 we participated in this competition which took place at Beijing, China and it was such a memorable trip! Our team named UI-AI was from University of Isfahan, Iran. We participated in the indoor competition with its challenges such as auto take-off and window challenge. In the final results  we came 8th. This event was a good experience for us meeting other teams and getting to know their work. We learned a lot at this event and we’re looking forward for more in the future.<img src="certificate-212x300.jpg" alt=" IMAV 2016 Robotics competition participation certificate"><img src="DSC_4207.JPG" alt="IMAV 2016 Robotics competition Iranian participants group picture"><img src="DSC_4196.JPG" alt="IMAV 2016 Robotics competition participants group picture">

Help-Desk