انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: hamraaz در 29 آبان 1400، 11:23 ق‌ظ

عنوان: ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: hamraaz در 29 آبان 1400، 11:23 ق‌ظ
با سلام
من برای پروژه های دانشگاهی نیاز دارم از کتابخانه opencv استفاده کنم اما هنگام اجرا با ارور segmentation fault (core dumped) مواجه میشم.
از درستی کد مطمئنم چون داخل ویندوز خروجی گرفتم. کتابخانه رو هم پاک کردم و مجدد نصب کردم یا از مفسر های مختلف استفاده کردم اما مشکل حل نشد.
ممنون میشم اگر راهنمایی کنید.
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: مرتضی . م در 29 آبان 1400، 12:11 ب‌ظ
با ipython تست کن
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: دانیال بهزادی در 29 آبان 1400، 01:03 ب‌ظ
کدت رو بذار ببینیم چشه.
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: عرفان خیراللهی در 29 آبان 1400، 04:50 ب‌ظ
سلام
اول از همه نسخه پایتون مطمئن بشید. برنامه باید روی پایتون نسخه ۳ اجرا بشه. پس به جای استفاده از دستور python مستقیما از دستور python3 استفاده کنید.
برای نصب کتاب‌خانه از این دستور استفاده کنید:
python3 -m pip install --upgrade opencv-python

و برای اجرای برنامه همون‌طور که گفتم از دستور python3 استفاده کنید.
برای این که بدونید آیا مشکل از برنامه شماست یا از محیط، یک برنامه کوچک چند خطی برای تست بنویسید یا از اینترنت کپی کنید. برای مثال کل برنامه می‌تونه همین یک خط باشه:
import cv2

اگر اجرا شد، پس برید سراغ برنامه خودتون.
اگر هم‌چنان مشکل پابرجا بود، کد رو این‌جا بگذارید. شاید مشکل از اون باشه. مثلا ممکنه یک آرایه تعریف کرده‌باشید و سعی کنید به اعضایی که داخل آرایه نیستند دسترسی پیدا کنید. (هرچند کتاب‌خانه opencv معمولا این‌ها رو تشخیص می‌ده و قبل از سیستم‌عامل جلوی اجرای برنامه رو می‌گیره.)
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: hamraaz در 29 آبان 1400، 08:49 ب‌ظ
با ipython تست کن
با ipython و notebook هم نتیجه مشابه بود.
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: hamraaz در 29 آبان 1400، 08:52 ب‌ظ
کدت رو بذار ببینیم چشه.
کدش ساده اس و مشکلی هم نداره تست شده.
قصد داشتم مقدار روشنایی تصویری رو 50 تا بیشتر کنم.
import cv2
# # problem 1-1
# # Add a constant value of 50. The edited image is more brightness than the orginal image.
myImage = cv2.imread("pepper.jpg", cv2.IMREAD_GRAYSCALE)
for pixel in myImage:
    for step in range(len(pixel)):
        if pixel[step] >= 205:
            pixel[step] = 255
        else:
            pixel[step] += 50
cv2.imshow('edited pepper', myImage)
cv2.waitKey(0)
cv2.destroyAllWindows()
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: hamraaz در 29 آبان 1400، 08:56 ب‌ظ
سلام
اول از همه نسخه پایتون مطمئن بشید. برنامه باید روی پایتون نسخه ۳ اجرا بشه. پس به جای استفاده از دستور python مستقیما از دستور python3 استفاده کنید.
برای نصب کتاب‌خانه از این دستور استفاده کنید:
python3 -m pip install --upgrade opencv-python

و برای اجرای برنامه همون‌طور که گفتم از دستور python3 استفاده کنید.
برای این که بدونید آیا مشکل از برنامه شماست یا از محیط، یک برنامه کوچک چند خطی برای تست بنویسید یا از اینترنت کپی کنید. برای مثال کل برنامه می‌تونه همین یک خط باشه:
import cv2

اگر اجرا شد، پس برید سراغ برنامه خودتون.
اگر هم‌چنان مشکل پابرجا بود، کد رو این‌جا بگذارید. شاید مشکل از اون باشه. مثلا ممکنه یک آرایه تعریف کرده‌باشید و سعی کنید به اعضایی که داخل آرایه نیستند دسترسی پیدا کنید. (هرچند کتاب‌خانه opencv معمولا این‌ها رو تشخیص می‌ده و قبل از سیستم‌عامل جلوی اجرای برنامه رو می‌گیره.)
من از آخرین نسخه پایتون استفاده می کنم و از خود کد هم مطمئنم چون رو چند سیستم ازش خروجی گرفتم و کد هم ساده اس.
باید مشکل از کتابخانه باشه به نظرم چون به محض استفاده از این کتابخانه یعنی وقتی اجرا میگیرم به این مشکل بر میخورم.
کد رو هم گذاشتم.
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: دانیال بهزادی در 30 آبان 1400، 02:13 ق‌ظ
مشکل از ناسازگاری برنامهٔ نمایش‌دهندهٔ تصویر پیش‌گزیدهٔ opencv با وی‌لنده. می‌تونی به جای:
cv2.imshow('edited pepper', myImage)
cv2.waitKey(0)
cv2.destroyAllWindows()
بنویسی:
cv2.imwrite('edited.png', myImage)
تا ذخیره‌اش کنه.
عنوان: پاسخ : ارور segmentation fault (core dumped) هنگام استفاده از کتابخانه opencv در پایتون
ارسال شده توسط: hamraaz در 30 آبان 1400، 07:50 ب‌ظ
مشکل از ناسازگاری برنامهٔ نمایش‌دهندهٔ تصویر پیش‌گزیدهٔ opencv با وی‌لنده. می‌تونی به جای:
cv2.imshow('edited pepper', myImage)
cv2.waitKey(0)
cv2.destroyAllWindows()
بنویسی:
cv2.imwrite('edited.png', myImage)
تا ذخیره‌اش کنه.
ممنونم جواب داد. راهی هست که مشکل رو به طور کلی حل کنم؟