Image Processing Using OpenCV & MATPLOTLIB In Python
کد فوق به پردازش تصاویر با استفاده از
OpenCV و Matplotlib پرداخته است. برای مشاهده کد کلیک کنید👩💻
پردازش تصویر با استفاده از
OpenCV، خواندن یک تصویر، تبدیل آن به فرمتهای مختلف و نمایش نتایج شامل تصویر اصلی، تصویر خاکستری، تصویر بلور شده و لبهها.💫کد شامل مراحل زیر میباشد:
1. خواندن تصویر: تصویر از مسیر مشخصشده خوانده میشود.
2. بررسی خطا: اگر تصویر نتواند خوانده شود، پیغام خطا چاپ میشود.
3. تبدیل به RGB: تصویر از فرمت BGR به RGB تبدیل میشود تا در Matplotlib بهدرستی نمایش یابد.
4. تبدیل به خاکستری: تصویر به صورت خاکستری تبدیل میشود.
5. اعمال فیلتر بلور: یک فیلتر بلور Gaussian به تصویر RGB اعمال میشود.
6. استخراج لبهها: با استفاده از فیلتر Canny، لبهها از تصویر خاکستری استخراج میشود.
7. نمایش تصاویر: در نهایت، چهار تصویر (اصل، خاکستری، بلور شده و لبهها) در یک شکل به نمایش در میآید.
#cv2 | #numpy | #matplotlib | #opencv | LearnPython
#بدانیم | #پردازش_تصویر | آموزش پایتون
✔️ پردازش تصویر با OpenCV و Matplotlib در پایتون
🔍 مراحل پردازش:
1️⃣ خواندن تصویر از مسیر مشخص
2️⃣ تبدیل رنگ BGR به RGB برای نمایش صحیح
3️⃣ تبدیل به تصویر خاکستری
4️⃣ اعمال فیلتر گوسی برای بلور کردن
5️⃣ استخراج لبهها با الگوریتم Canny
6️⃣ نمایش تمام مراحل در یک پنجره
کاربردها:
- بینایی ماشین
- پردازش تصاویر پزشکی
- سیستمهای تشخیص چهره
#cv2 | #numpy | #matplotlib | #opencv | @learnpythonicy
#بدانیم | #پردازش_تصویر | آموزش پایتون
🔍 مراحل پردازش:
1️⃣ خواندن تصویر از مسیر مشخص
2️⃣ تبدیل رنگ BGR به RGB برای نمایش صحیح
3️⃣ تبدیل به تصویر خاکستری
4️⃣ اعمال فیلتر گوسی برای بلور کردن
5️⃣ استخراج لبهها با الگوریتم Canny
6️⃣ نمایش تمام مراحل در یک پنجره
کاربردها:
- بینایی ماشین
- پردازش تصاویر پزشکی
- سیستمهای تشخیص چهره
#cv2 | #numpy | #matplotlib | #opencv | @learnpythonicy
#بدانیم | #پردازش_تصویر | آموزش پایتون
✔️ تشخیص اشیا در زمان واقعی با YOLOv8 و OpenCV
ویژگیهای کلیدی
- پیشرفتهترین مدل تشخیص اشیا (YOLOv8)
- پردازش زنده با وبکم
- دقت بالا در شناسایی 80 کلاس مختلف
- بهینهسازی شده برای اجرا روی CPU/GPU
کاربردهای انقلابی
- سیستمهای نظارت هوشمند
- رباتیک و خودروهای خودران
- تحلیل تصاویر ماهوارهای
نصب:
🎬 پیشنهاد محتوای ویدیویی:
- نمایش عملکرد زنده روی اشیا مختلف
- مقایسه دقت YOLOv8 با نسخههای قبلی
- آموزش تنظیم پارامترها برای سناریوهای خاص
#ultralytics | #cv2 | @learnpythonicy
ویژگیهای کلیدی
- پیشرفتهترین مدل تشخیص اشیا (YOLOv8)
- پردازش زنده با وبکم
- دقت بالا در شناسایی 80 کلاس مختلف
- بهینهسازی شده برای اجرا روی CPU/GPU
کاربردهای انقلابی
- سیستمهای نظارت هوشمند
- رباتیک و خودروهای خودران
- تحلیل تصاویر ماهوارهای
نصب:
pip install ultralytics opencv-python
🎬 پیشنهاد محتوای ویدیویی:
- نمایش عملکرد زنده روی اشیا مختلف
- مقایسه دقت YOLOv8 با نسخههای قبلی
- آموزش تنظیم پارامترها برای سناریوهای خاص
#ultralytics | #cv2 | @learnpythonicy
🎭 تشخیص احساسات چهره با نمایش همزمان تصویر و نتایج
✔️ ویژگیهای منحصر به فرد
- نمایش زنده تصویر دوربین + نمودار احساسات در یک پنجره
- آپدیت لحظهای نمودار با تغییر حالات چهره
- بهینهسازی عملکرد با
🛠 راهاندازی آسان
1. نصب کتابخانهها:
2. اجرای کد:
#deepface | #cv2 | #matplotlib | #numpy | @learnpythonicy
> *برای دقت بیشتر میتوانید مدلهای سفارشی مانند
>
import deepface as DeepFace
import cv2
import matplotlib.pyplot as plt
import numpy as np
# شروع دوربین
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
try:
# تحلیل احساسات
results = DeepFace.analyze(frame, actions=['emotion'], enforce_detection=False)
emotion = results[0]['dominant_emotion']
emotions = results[0]['emotion']
# رسم نمودار احساسات
plt.clf() # پاک کردن نمودار قبلی
plt.bar(emotions.keys(), emotions.values(), color='skyblue')
plt.title(f'Dominant Emotion: {emotion}')
plt.ylim(0, 100)
# تبدیل نمودار به تصویر OpenCV
fig = plt.gcf()
fig.canvas.draw()
plot_img = np.array(fig.canvas.renderer.buffer_rgba())
plot_img = cv2.cvtColor(plot_img, cv2.COLOR_RGBA2BGR)
# نمایش ترکیبی
combined = np.vstack((
cv2.resize(frame, (640, 360)),
cv2.resize(plot_img, (640, 360))
))
cv2.imshow('Face Analysis - Live', combined)
except Exception as e:
print(f"خطا: {e}")
cv2.imshow('Face Analysis - Live', frame)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
✔️ ویژگیهای منحصر به فرد
- نمایش زنده تصویر دوربین + نمودار احساسات در یک پنجره
- آپدیت لحظهای نمودار با تغییر حالات چهره
- بهینهسازی عملکرد با
enforce_detection=False برای جلوگیری از خطا 🛠 راهاندازی آسان
1. نصب کتابخانهها:
pip install deepface opencv-python matplotlib numpy
2. اجرای کد:
python face_emotion.py
#deepface | #cv2 | #matplotlib | #numpy | @learnpythonicy
> *برای دقت بیشتر میتوانید مدلهای سفارشی مانند
VGG-FER را بارگذاری کنید:* >
DeepFace.build_model("VGG-Fer")✔️ توضیح کد پردازش تصویر با OpenCV:
این کد سه عملیات اصلی روی تصاویر انجام میدهد:
1. خواندن تصویر از فایل:
2. تغییر اندازه تصویر به 300×300 پیکسل:
3. برش قسمتی از تصویر (مستطیل با مختصات مشخص):
4. نمایش نتیجه در پنجره جدید:
🔅 نکات کاربردی:
- اگر تصویر بارگذاری نشود،
- برای ذخیره تصویر پردازش شده از
- اعداد در برش تصویر به صورت
#cv2 | @learnpythonicy
> *این کد پایهای برای پروژههای بینایی ماشین و ویرایش تصویر است!*
این کد سه عملیات اصلی روی تصاویر انجام میدهد:
1. خواندن تصویر از فایل:
image = cv2.imread('photo.jpg') # بارگذاری تصویر از مسیر مشخص
2. تغییر اندازه تصویر به 300×300 پیکسل:
resized = cv2.resize(image, (300, 300)) # تغییر ابعاد با حفظ نسبت
3. برش قسمتی از تصویر (مستطیل با مختصات مشخص):
cropped = image[100:400, 200:500] # ارتفاع: 100-400px، عرض: 200-500px
4. نمایش نتیجه در پنجره جدید:
cv2.imshow('Result', resized) # نمایش تصویر تغییرسایز شده
cv2.waitKey(0) # توقف برنامه تا فشار کلید توسط کاربر
🔅 نکات کاربردی:
- اگر تصویر بارگذاری نشود،
image برابر None خواهد بود - برای ذخیره تصویر پردازش شده از
cv2.imwrite() استفاده کنید - اعداد در برش تصویر به صورت
[Y_start:Y_end, X_start:X_end] هستند #cv2 | @learnpythonicy
> *این کد پایهای برای پروژههای بینایی ماشین و ویرایش تصویر است!*
✔️ تولید نقاشی دیجیتال با پایتون (ترکیب OpenCV + تصادفیسازی)
ویژگیها
1. تولید هنر دیجیتال کاملاً تصادفی
2. ترکیب رنگهای رندوم در هر اجرا
3. خروجی منحصر به فرد در هر بار اجرا
4. ذخیره خودکار اثر تولیدی
نحوه کار
- ساخت بوم سفید 500x500 پیکسلی
- رسم 50 دایره با رنگ و موقعیت تصادفی
- اضافه کردن امضای "Python Art"
- نمایش و ذخیره نتیجه
#cv2 | #numpy | @learnpythonicy
> *برای اثر پیچیدهتر، میتوانید خطوط/مثلثهای رندوم هم اضافه کنید!*
ویژگیها
1. تولید هنر دیجیتال کاملاً تصادفی
2. ترکیب رنگهای رندوم در هر اجرا
3. خروجی منحصر به فرد در هر بار اجرا
4. ذخیره خودکار اثر تولیدی
نحوه کار
- ساخت بوم سفید 500x500 پیکسلی
- رسم 50 دایره با رنگ و موقعیت تصادفی
- اضافه کردن امضای "Python Art"
- نمایش و ذخیره نتیجه
#cv2 | #numpy | @learnpythonicy
> *برای اثر پیچیدهتر، میتوانید خطوط/مثلثهای رندوم هم اضافه کنید!*
❤4
✔️ سیستم تشخیص حرکت با OpenCV در پایتون
▪️ ویژگیهای پروژه
- تشخیص حرکت در زمان واقعی
- فیلتر نویز با گوسیبلور
- مستطیل سبز حول ناحیه متحرک
- هشدار متنی هنگام تشخیص حرکت
▪️ کاربردها
1. سیستمهای امنیتی
2. نظارت بر حیوانات خانگی
3. شمارش افراد
4. تعامل حرکتی با کامپیوتر
▪️ ایده توسعه
- اضافه کردن ذخیره خودکار ویدئو هنگام حرکت
- ارسال نوتیفیکیشن از طریق تلگرام
- حساسیت قابل تنظیم با اسلایدر
#cv2 | @learnpythonicy
import cv2
# باز کردن دوربین
cap = cv2.VideoCapture(0)
# خواندن اولین فریم (برای مقایسه بعدی)
ret, frame1 = cap.read()
frame1 = cv2.flip(frame1, 1)
gray1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
gray1 = cv2.GaussianBlur(gray1, (21, 21), 0)
while True:
ret, frame2 = cap.read()
if not ret:
break
frame2 = cv2.flip(frame2, 1)
gray2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
gray2 = cv2.GaussianBlur(gray2, (21, 21), 0)
# محاسبه تفاوت بین دو فریم
diff = cv2.absdiff(gray1, gray2)
thresh = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1]
thresh = cv2.dilate(thresh, None, iterations=2)
# پیدا کردن کانتور حرکتها
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
motion_detected = False
for contour in contours:
if cv2.contourArea(contour) < 1000:
continue
motion_detected = True
(x, y, w, h) = cv2.boundingRect(contour)
cv2.rectangle(frame2, (x, y), (x+w, y+h), (0, 255, 0), 2)
if motion_detected:
cv2.putText(frame2, "Motion Detected!", (10, 30), cv2.FONT_HERSHEY_SIMPLEX,
1, (0, 0, 255), 2)
cv2.imshow("Motion Detector", frame2)
# بروزرسانی فریم مرجع
gray1 = gray2
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
▪️ ویژگیهای پروژه
- تشخیص حرکت در زمان واقعی
- فیلتر نویز با گوسیبلور
- مستطیل سبز حول ناحیه متحرک
- هشدار متنی هنگام تشخیص حرکت
▪️ کاربردها
1. سیستمهای امنیتی
2. نظارت بر حیوانات خانگی
3. شمارش افراد
4. تعامل حرکتی با کامپیوتر
▪️ ایده توسعه
- اضافه کردن ذخیره خودکار ویدئو هنگام حرکت
- ارسال نوتیفیکیشن از طریق تلگرام
- حساسیت قابل تنظیم با اسلایدر
#cv2 | @learnpythonicy
🔍 راهنمای #هشتگها برای دسترسی سریعتر به مطالب کانال
برای اینکه راحتتر به مطالب دلخواهتون برسید، از هشتگهای زیر استفاده کنید:
---
### 😂 #طنز
مطالب فان و خندهدار برای فاصله گرفتن از دنیای کدنویسی.
### 🧪 #تست_تایم
تستها و تمرینهایی که باید برای تقویت مهارتهای برنامهنویسی بزنید.
### 📘 #بدانیم
نکات مهم و کاربردی دربارهی برنامهنویسی و پایتون.
### 📚 #بخوانیم
دانستنیها و مقالاتی که پیشنهاد میکنم حتما مطالعه کنید.
### 📖 #معرفی_کتاب / #بوک_تایم
کتابهای پیشنهادی برای یادگیری اصولیتر.
### 🔥 #موتیو_تایم
پستهای انگیزشی و انرژیبخش برای ادامهی مسیر یادگیری.
### 📚 #کتابخانه
کتابخانههایی که در کانال معرفی شدهاند.
### 📃 #برگه_تقلب و #Cheat_Sheet
خلاصه و نکات کلیدی
---
### 🎮 #game
بازی های ساخته شده با پایتون
### 🛣 #roadmap
نقشهراه یادگیری پایتون و مهارتهای لازم.
### 🧩 #project_time
پروژههای تمرینی برای افزایش تجربه و تسلط.
### 📄 #paper
مقالات علمی و تخصصی معرفیشده.
---
### ⚡️ #PythonTricks
میانبرها و ترفندهای کاربردی پایتون.
### ✨ #Pythonmagic
رفتارهای خاص و جالب پایتون که کمتر کسی میداند.
### 🧰 #functools
ابزارها و تکنیکهای مرتبط با توابع.
### 🧱 #codeBites
خلاصهی یک دستور همراه با نمونهکد کوتاه.
### ❗️ #error
خطاهای رایج پایتون و روش رفع آنها.
### 📰 #news
اخبار روز پایتون و دنیای تکنولوژی.
### 🖼 #carousel
پستهای اسلایدری برای آموزش موضوعات مختلف.
---
### 🤖 #AI
هوش مصنوعی
### 📊 #ML
یادگیری ماشین
### 🧠 #DL
یادگیری عمیق (ژرف)
---
## 🔎 جستجوی سریع دستورات و کتابخانهها
هر دستور یا کتابخانهای که لازم دارید کافیست هشتگش را جستجو کنید:
#split
#while
#class
#for
#dict
#list
#opencv
#cv2
#numpy
#matplotlib
#tkinter
و …
---
## 🎯 دورهها و تمرینها
📘 دوره آموزش مقدماتی پایتون
🧪 حل ۳۰ سؤال کاربردی برای تقویت مهارتهای دوره مقدماتی
🎖چالش ۳۰ روزه Python for AI
برای اینکه راحتتر به مطالب دلخواهتون برسید، از هشتگهای زیر استفاده کنید:
---
### 😂 #طنز
مطالب فان و خندهدار برای فاصله گرفتن از دنیای کدنویسی.
### 🧪 #تست_تایم
تستها و تمرینهایی که باید برای تقویت مهارتهای برنامهنویسی بزنید.
### 📘 #بدانیم
نکات مهم و کاربردی دربارهی برنامهنویسی و پایتون.
### 📚 #بخوانیم
دانستنیها و مقالاتی که پیشنهاد میکنم حتما مطالعه کنید.
### 📖 #معرفی_کتاب / #بوک_تایم
کتابهای پیشنهادی برای یادگیری اصولیتر.
### 🔥 #موتیو_تایم
پستهای انگیزشی و انرژیبخش برای ادامهی مسیر یادگیری.
### 📚 #کتابخانه
کتابخانههایی که در کانال معرفی شدهاند.
### 📃 #برگه_تقلب و #Cheat_Sheet
خلاصه و نکات کلیدی
---
### 🎮 #game
بازی های ساخته شده با پایتون
### 🛣 #roadmap
نقشهراه یادگیری پایتون و مهارتهای لازم.
### 🧩 #project_time
پروژههای تمرینی برای افزایش تجربه و تسلط.
### 📄 #paper
مقالات علمی و تخصصی معرفیشده.
---
### ⚡️ #PythonTricks
میانبرها و ترفندهای کاربردی پایتون.
### ✨ #Pythonmagic
رفتارهای خاص و جالب پایتون که کمتر کسی میداند.
### 🧰 #functools
ابزارها و تکنیکهای مرتبط با توابع.
### 🧱 #codeBites
خلاصهی یک دستور همراه با نمونهکد کوتاه.
### ❗️ #error
خطاهای رایج پایتون و روش رفع آنها.
### 📰 #news
اخبار روز پایتون و دنیای تکنولوژی.
### 🖼 #carousel
پستهای اسلایدری برای آموزش موضوعات مختلف.
---
### 🤖 #AI
هوش مصنوعی
### 📊 #ML
یادگیری ماشین
### 🧠 #DL
یادگیری عمیق (ژرف)
---
## 🔎 جستجوی سریع دستورات و کتابخانهها
هر دستور یا کتابخانهای که لازم دارید کافیست هشتگش را جستجو کنید:
#split
#while
#class
#for
#dict
#list
#opencv
#cv2
#numpy
#matplotlib
#tkinter
و …
---
## 🎯 دورهها و تمرینها
📘 دوره آموزش مقدماتی پایتون
🧪 حل ۳۰ سؤال کاربردی برای تقویت مهارتهای دوره مقدماتی
🎖چالش ۳۰ روزه Python for AI
This media is not supported in your browser
VIEW IN TELEGRAM
⭕️ شناسایی و اندازهگیری خودکار دانههای برنج با OpenCV
✔️ بخشهای سفید تصویر را استخراج کنی
✔️ نویز پسزمینه را حذف کنی
✔️ دانههای واقعی را فیلتر کنی
✔️ اندازه دقیق هر دانه را روی تصویر بنویسی
این یک مثال عالی برای پروژههای Machine Vision است.
کد کامل را میخوای؟؟
کلمه برنج را کامنت کن 👇
#opencv | #cv2 | #numpy
🌟@LearnPythonIcy
در این آموزش یاد میگیری چطور:
✔️ بخشهای سفید تصویر را استخراج کنی
✔️ نویز پسزمینه را حذف کنی
✔️ دانههای واقعی را فیلتر کنی
✔️ اندازه دقیق هر دانه را روی تصویر بنویسی
این یک مثال عالی برای پروژههای Machine Vision است.
کد کامل را میخوای؟؟
کلمه برنج را کامنت کن 👇
#opencv | #cv2 | #numpy
🌟@LearnPythonIcy
🤓2
This media is not supported in your browser
VIEW IN TELEGRAM
🎯 پیدا کردن دانه برنج با اندازه دلخواه
سیستم هوشمند ما
1️⃣ شناسایی تمام دانههای برنج در تصویر
2️⃣ دریافت عدد ورودی از کاربر
3️⃣ پیدا کردن دانهای که مساحتش به عدد شما نزدیکتر است
4️⃣ مشخص کردن دانه انتخابی با کادر و نمایش اندازه دقیق
ویژگیها
تشخیص خودکار دانهها
جستجوی هوشمند نزدیکترین اندازه
حذف نویز و ذرات ریز
نمایش واضح دانه انتخابی
📊 کاربرد
کنترل کیفیت، جداسازی دانههای خارج از سایز، پروژههای دانشگاهی، سیستمهای درجهبندی کشاورزی
#opencv | #cv2 | #numpy
🌟@LearnPythonIcy
سیستم هوشمند ما
1️⃣ شناسایی تمام دانههای برنج در تصویر
2️⃣ دریافت عدد ورودی از کاربر
3️⃣ پیدا کردن دانهای که مساحتش به عدد شما نزدیکتر است
4️⃣ مشخص کردن دانه انتخابی با کادر و نمایش اندازه دقیق
ویژگیها
تشخیص خودکار دانهها
جستجوی هوشمند نزدیکترین اندازه
حذف نویز و ذرات ریز
نمایش واضح دانه انتخابی
📊 کاربرد
کنترل کیفیت، جداسازی دانههای خارج از سایز، پروژههای دانشگاهی، سیستمهای درجهبندی کشاورزی
#opencv | #cv2 | #numpy
🌟@LearnPythonIcy