ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

python_developer

python_developer

Открыть в Telegram

کانال اموزش پایتون @Real_developer تبلیغات پذیرفته میشود.

Больше
1 519
Подписчики
Нет данных24 часа
-37 дней
-430 дней
Архив постов
‍ import cv2 import numpy as np img = cv2.imread('coins.jpg') coins_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) coins_preprocessed = cv2.GaussianBlur(coins_gray, (5, 5), 0) _, coins_binary = cv2.threshold(coins_preprocessed, 130, 255, cv2.THRESH_BINARY) coins_binary = cv2.bitwise_not(coins_binary) _,coins_contours, _ = cv2.findContours(coins_binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # make copy of image coins_and_contours = np.copy(img) # find contours of large enough area min_coin_area = 60 large_contours = [cnt for cnt in coins_contours if cv2.contourArea(cnt) > min_coin_area] # draw contours cv2.drawContours(coins_and_contours, large_contours, -1, (255,0,0)) # print number of contours print('number of coins: %d' % len(large_contours)) # create copy of image to draw bounding boxes bounding_img = np.copy(img) # for each contour find bounding box and draw rectangle for contour in large_contours: x, y, w, h = cv2.boundingRect(contour) cv2.rectangle(bounding_img, (x, y), (x + w, y + h), (0, 255, 0), 3) cv2.namedWindow('image', cv2.WINDOW_NORMAL) cv2.imshow('image', bounding_img) cv2.waitKey(0) cv2.destroyAllWindows() 💢💢💢💢💢

https://docs.opencv.org/3.3.1/d4/d73/tutorial_py_contours_begin.html 🔎جهت مطالعه بیشتر 💢💢💢💢

photo content

2️⃣پیدا کردن کانتور ها(contours) کانتورها ، نقاط دنباله دار، که یک منحنی بسته راتشکیل داده و در بر دارنده تصویر هستند. 💢کانتور ها ابزاری مفیدبرای تشخیص اشیا و ویژگیها، همچنینن تجزیه و تحلیل اشکال، هستند. ✅با استفاده از cv2.findContours ()، مرز یا لبه های هر سکه را پیدا خواهیم کرد. ✅انتخاب پرچم cv2.RETR_EXTERNAL، تنها خطوط خارجی را به تابع باز می گرداند. بنابراین جزئيات کوچکتر روی سطح سکه را انتخاب نمی کند. ✅ برای به دست آوردن محدوده کانتورها، ما از cv2.contourArea () استفاده می کنیم. 💢💢

‍ import cv2 def sufra(): img = cv2.imread('coins.jpg') coins_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.namedWindow('i
‍ import cv2 def sufra(): img = cv2.imread('coins.jpg') coins_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.namedWindow('image', cv2.WINDOW_NORMAL) coins_preprocessed = cv2.GaussianBlur(coins_gray, (5, 5), 0) _, coins_binary = cv2.threshold(coins_preprocessed, 130, 255, cv2.THRESH_BINARY) coins_binary = cv2.bitwise_not(coins_binary) cv2.imshow('image', coins_binary) cv2.waitKey(0) cv2.destroyAllWindows() print ("waitkey") if name == 'main': sufra() 💢💢💢💢💢

💢💢💢💢💢💢💢💢💢 ادامه:👇🏻👇🏻👇🏻👇🏻👇🏻 1️⃣پیش پردازش: ✅مرحله اول : تصویر را به حالت grayscale برده تا توسط Gaussian blur، تصویر مات و نویز ها حذف شود. ✅مرحله دوم: سپس آستانه گذاری ساده بر روی تصویر پیش پردازش شده اعمال میکنیم. 💢💢💢💢💢

تصویر اصلی
تصویر اصلی

💢اولین پروژه💢 1) تشخیص و شمردن سکه ها 💢

AnimatedSticker.tgs0.56 KB

درس آخر هم تموم شد. امیدوارم مورد استفاده قرار گرفته باشه. از این به بعد فقط پروژه کار میکنیم.

اصلش باید اینطوری باشه 🤔
اصلش باید اینطوری باشه 🤔

photo content

تصویر res.png را که داخل پوشه ایجاد شده را باز میکنیم: 💢💢💢

import cv2 import numpy as np from matplotlib import pyplot as plt img_rgb = cv2.imread('111.png') img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY) template = cv2.imread('1111.PNG',0) w, h = template.shape[::-1] res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED) threshold = 0.8 loc = np.where( res >= threshold) for pt in zip(*loc[::-1]): cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,0,255), 2) cv2.imwrite('res.png',img_rgb) 💢💢💢💢

تصویر الگو
تصویر الگو

تصویر بزرگتر
تصویر بزرگتر

💢Template Matching with Multiple Objects💢 تطبیق الگو با چندین اشیا در بخش قبلی، ما تصویری را برای چهره مسی پیدا کردیم که فقط یک بار در تصویر رخ می دهد. فرض کنید شما در جستجوی یک شی هستید که چندین بار در تصویر، رخ داده است،ولی cv2.minMaxLoc () تمام مکان های شما را نمی دهد. در این مورد، از آستانه استفاده خواهیم کرد. ما از تصویر ی از بازی Mario استفاده خواهیم کرد و سکه ها را در آن پیدا خواهیم کرد. 💢💢💢💢💢

photo content