از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
سه سال پیش منتشر شده
تعداد بازدید: 314
کد پروژه: 394842
شرح پروژه
#کد_پروژه: 52900
موضوع: پروژه /
من یک کد دارم
که میخوام ویرایش و تکمیل بشه با پایتون opencv
و از یه فولدر عکس ها رو بخونه
و بعد
این کد ماکزیمم ارتفاع رو محاسبه میکنه و تو اکسل ذخیره میکنه. حالا چیزهایی که ما میخواییم به این کد اضافه بشه اینه:
۱. روی هر کس یه زمان نوشته شده که عدد جلوش ms نوشته و اول از همه اونو تو هرکس بخونه و تو یه متغییر T بریزه.
۲. ادامه همین روش که عکس رو به باینری تبدیل و بعد کانتور و پیدا میکنه و کانتوری که ماکزیمم مساحت داره رو انتخاب میکنه و ما میخواییم که کانتور انتخاب شده رو تو عکس باینری نشون بده یعنی drawcontour رو عکس باینری انجام بده .
۳. بعد از اینکه ارتفاع محاسبه کرد در عکس باینری بما نشون بده
۴. در یک فایل اکسل پارامتر T و ارتفاع رو h رو ذخیره و چاپ کند (یعنی یک ستون زمان و ارتفاع اون عکس چاپ کنو بعد عکس بعدی به همین ترتیب که در اکسل ذخیره شود) import cv2
import os
import numpy as np
import matplotlib.pyplot as plt
# Specify the folder containing the JPEG files
folder_path="./fara/"
# Loop through all files in the folder
for file_name in os.listdir(folder_path):
if file_name.endswith(".jpg"):
# Load the image
image = cv2.imread(os.path.join(folder_path, file_name))
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# Convert the image to grayscale
# Apply a threshold to the grayscale image
threshold_value = 150
max_value = 255
_, thresholded_image = cv2.threshold(gray_image, threshold_value, max_value, cv2.THRESH_BINARY)
# Find the contour with the largest area, which is assumed to be the plume
contours, _ = cv2.findContours(thresholded_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
plume_contour = max(contours, key=cv2.contourArea)
# Calculate the bounding box of the plume contour
x, y, w, h = cv2.boundingRect(plume_contour)
#cv2.rectangle(thresholded_image, (x, y), (x+w, y+h), (0, 0, 255), 0)
image_with_contour= cv2.drawContours(image.copy(), [plume_contour], -1, (0, 255, 0), 2)
#image_with_contour= cv2.drawContours(thresholded_image, [plume_contour], -1, (0, 255, 0), 20)
height=[h]
#with open("my_data.csv", "a") as f:
#np.savetxt(f, height, fmt="%i")
#cv2.putText(image_with_contour, f"Max height: {height}", (88, 80), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
#cv2.putText(thresholded_image, f"Max height: {height}", (88, 80), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
#with open("my_data.txt", "a") as f:
#np.savetxt(f, height, fmt="%i")
new_file_name = file_name.replace(".jpg", "_plum_height.jpg")
new_file_path = os.path.join(folder_path, new_file_name)
with open("my_data.csv", "a") as f:
np.savetxt(f, height, fmt="%i")
# Save the thresholded image with the new file name
cv2.putText(image_with_contour, f"Max height: {height}", (88, 80), cv2.FONT_HERSHEY_SIMPLEX, 1, (255,255, 120), 2)
#cv2.imwrite(new_file_path, thresholded_image)
cv2.imwrite(new_file_path, image_with_contour)
#plt.imshow(image_with_contour)
#plt.imshow(thresholded_image)
#plt.show() و مهلت یک روزه هست مثلا یه عکس اینطوری که ارتفاع و کانتور نشون میده اما روی عکس باینری شده نه عکس اصلی. خروجی نهاییمون عکس های باینری+فایل اکسل که زمان و ارتفاع محاسبه شده است ، هستش مثلا یه عکس اینطوری که ارتفاع و کانتور نشون میده اما روی عکس باینری شده نه عکس اصلی. #کد_پروژه: 52900
موضوع: پروژه پایتون /
من یک کد دارم
که میخوام ویرایش و تکمیل بشه با پایتون opencv
و از یه فولدر عکس ها رو بخونه
و بعد
این کد ماکزیمم ارتفاع رو محاسبه میکنه و تو اکسل ذخیره میکنه. حالا چیزهایی که ما میخواییم به این کد اضافه بشه اینه:
۱. روی هر کس یه زمان نوشته شده که عدد جلوش ms نوشته و اول از همه اونو تو هرکس بخونه و تو یه متغییر T بریزه.
۲. ادامه همین روش که عکس رو به باینری تبدیل و بعد کانتور و پیدا میکنه و کانتوری که ماکزیمم مساحت داره رو انتخاب میکنه و ما میخواییم که کانتور انتخاب شده رو تو عکس باینری نشون بده یعنی drawcontour رو عکس باینری انجام بده .
۳. بعد از اینکه ارتفاع محاسبه کرد در عکس باینری بما نشون بده
۴. در یک فایل اکسل پارامتر T و ارتفاع رو h رو ذخیره و چاپ کند (یعنی یک ستون زمان و ارتفاع اون عکس چاپ کنو بعد عکس بعدی به همین ترتیب که در اکسل ذخیره شود) import cv2
import os
import numpy as np
import matplotlib.pyplot as plt
# Specify the folder containing the JPEG files
folder_path="./fara/"
# Loop through all files in the folder
for file_name in os.listdir(folder_path):
if file_name.endswith(".jpg"):
# Load the image
image = cv2.imread(os.path.join(folder_path, file_name))
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# Convert the image to grayscale
# Apply a threshold to the grayscale image
threshold_value = 150
max_value = 255
_, thresholded_image = cv2.threshold(gray_image, threshold_value, max_value, cv2.THRESH_BINARY)
# Find the contour with the largest area, which is assumed to be the plume
contours, _ = cv2.findContours(thresholded_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
plume_contour = max(contours, key=cv2.contourArea)
# Calculate the bounding box of the plume contour
x, y, w, h = cv2.boundingRect(plume_contour)
#cv2.rectangle(thresholded_image, (x, y), (x+w, y+h), (0, 0, 255), 0)
image_with_contour= cv2.drawContours(image.copy(), [plume_contour], -1, (0, 255, 0), 2)
#image_with_contour= cv2.drawContours(thresholded_image, [plume_contour], -1, (0, 255, 0), 20)
height=[h]
#with open("my_data.csv", "a") as f:
#np.savetxt(f, height, fmt="%i")
#cv2.putText(image_with_contour, f"Max height: {height}", (88, 80), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
#cv2.putText(thresholded_image, f"Max height: {height}", (88, 80), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
#with open("my_data.txt", "a") as f:
#np.savetxt(f, height, fmt="%i")
new_file_name = file_name.replace(".jpg", "_plum_height.jpg")
new_file_path = os.path.join(folder_path, new_file_name)
with open("my_data.csv", "a") as f:
np.savetxt(f, height, fmt="%i")
# Save the thresholded image with the new file name
cv2.putText(image_with_contour, f"Max height: {height}", (88, 80), cv2.FONT_HERSHEY_SIMPLEX, 1, (255,255, 120), 2)
#cv2.imwrite(new_file_path, thresholded_image)
cv2.imwrite(new_file_path, image_with_contour)
#plt.imshow(image_with_contour)
#plt.imshow(thresholded_image)
#plt.show() و مهلت یک روزه هست مثلا یه عکس اینطوری که ارتفاع و کانتور نشون میده اما روی عکس باینری شده نه عکس اصلی. خروجی نهاییمون عکس های باینری+فایل اکسل که زمان و ارتفاع محاسبه شده است ، هستش
و یک پروژه جدا هم دارم یک سری عکس داریم که هر عکس شامل دو object سفید میباشند میخواهیم شی اول بعنوان رفرنس در نظر گرفته بشه و شی دوم از عکس استخراج بشه و با استفاده از ماتریس تبدیل و همچنین تبدیلات دیگه در کتابخانه opencv رو شی اولمون همپوشانی بشه فقط عکس ها با پسوند jpg نیستن و tiff هستن حتما باید tiff باشه جفتشون جدا هزینه اشو بهم بگید هم ممنون میشم
این پروژه شامل 5 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.
مهارت ها و تخصص های مورد نیاز
مهلت برای انجام
1روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت چهار سال پیش
نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟
قادر به انجام این پروژه هستید؟
متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصتهای متعددی در سایت موجود میباشد.
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار