پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

پایتون 52900/

سه سال پیش منتشر شده

تعداد بازدید: 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روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت چهار سال پیش

14328 پروژه ثبت شده ،
12 پروژه در حال انجام ،
82 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 12%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصت‌های متعددی در سایت موجود می‌باشد.

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

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

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار