تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 8 اولاول 1234567 ... آخرآخر
نمايش نتايج 21 به 30 از 75

نام تاپيک: پردازش تصوير در #C

  1. #21
    پروفشنال محمد امين's Avatar
    تاريخ عضويت
    Mar 2005
    محل سكونت
    در پناه حق
    پست ها
    808

    پيش فرض

    سلام
    اصلا من يه فرم ساده هم كه درست ميكنم بدون هيچ كد اضافه، باز هم اينطوري ميشه (يعني با start without debugging يا اجراي فايل EXE). با اين حال كاري رو هم كه شما گفتين انجام دادم ولي باز هم درست نشد. حتي يه setup براش ساختم. بعد از نصب باز هم وقتي اجرا كردم همينطوري شد! publish هم كه كردم باز هم در موقع اجرا همين خطا رو داد. روي كامپيوتر شما فايل EXE رو درست اجرا ميكنه؟ پروژه هايي كه من توي سايتها ميديدم يه demo داشتن كه فايل EXE برنامشون توش بود كه توي كامپيوتر منم درست اجرا ميشه. فكر ميكنم بايد چيزي بهش اضافه كنيم!
    Last edited by محمد امين; 15-10-2006 at 00:28.

  2. #22
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    برنامه رو سيستم من بدون هيچ مشكلي اجرا ميشه.برنامه رو trace كردم ولي باز موردي پيدا نشد.
    اين طور كه شما ميگيد ممكنه از framework يا VS شما , مشكل ايجادميشه.
    تنها چيزي كه الان به نظرم ميرسه اينه شما اول Netframework. رو دوباره نصب كني البته Ver 2.0 رو
    واگه مشكل حل نشد VS.Net رو هم دوباره نصب كنيد. شما جديدا package رو از سري MS Security
    كه مربوط به سيستم ميشه نصب كرديد؟
    Last edited by someone; 15-10-2006 at 05:33.

  3. #23
    پروفشنال محمد امين's Avatar
    تاريخ عضويت
    Mar 2005
    محل سكونت
    در پناه حق
    پست ها
    808

    پيش فرض

    سلام.
    نه من هيچ package اي رو نصب نكردم. همون VS 2005 اول رو كه 8 تا CD هست نصب كردم (كار JB) كه معمول بازار هست. حالا نصب مجدد رو هم تست ميكنم.
    ولي من يه كار ديگه كردم. يه نصب ساختم (با Setup and Deployment) بعد NET framework رو هم كنارش گذاشتم. رفتم روي يه سيستم ديگه و اول framework و بعد نصب رو اجرا كردم. بعد فايل EXE رو از فولدر نصب اجرا كردم كه برنامه درست اجرا شد. به هر حال بعضي مواقع متوجه نميشيم كه چرا يه چيز درست كار ميكنه يا نميكنه! مهم اينه كه كاري كنيم كه كار كنه!
    خدا رو شكر كه اينم حل شد. يه سوال ديگه داشتم. چطور ميشه به آرايه هاي دو بعدي (يا تصاوير) دسترسي سطري يا ستوني داشت؟ مثلا توي MATLAB بصورت زير ميشه دسترسي سطري داشت:

    ممنون از لطفتون
    Last edited by محمد امين; 15-10-2006 at 13:25.

  4. #24
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    سلام.
    وقتی یه برنامه رو تحت .Net مینویسم ناچاریم که از .Netframework روی client استفاده کنیم. دلیلش رو هم
    که در موردش صحبت کردیم. برای اینکه یه برنامه رو publish کنید نیازی ندارید که حتما برای برنامتون Setup بسازید.گرچه با ساختنش بعضی از مشکلات حل میشه ولی نیازی نیست. تنها کافی فایل exe همراه resource ها در روی client کپی بشه. تنها موردی که خیلی مهم هست استفاده از framework با همون version ی هست که شما ازش استفاده کردید.چون مشکلاتی که به خاطر عدم هم خوانی ver ها پیش می یاد خیلی رایج هست. تا این حد که مثلا گه برنامه با framework 1.1 نوشته شده باشه وقتی رو framework1.0 اجرا بشه یکی از اولین مشکلات چیزی که برای شما ایجاد شده و فایل exe اجرا نمیشه.
    درمورد مشکلی که برای شما پیش اومده هم فکر میکنم که مشکل ازFramework شما باشه گرچه حتما پیگیر قضیه هستم.خدا رو چه دیدید! شاید روزی هم فایل های exe ایجاد شده من هم دچار این مشکل بشن.
    در مورد دوم هم بايد اضافه كنم آرايه هاي دوبعدي که به این شکل تعریف میشن و میتونید به دو روش اونها رو مقدار دهی کنید.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یا
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برای دسترسی به آرایه ها هم کافیه به این صورت عمل کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  5. #25
    پروفشنال محمد امين's Avatar
    تاريخ عضويت
    Mar 2005
    محل سكونت
    در پناه حق
    پست ها
    808

    پيش فرض

    يعني راه ديگه اي جز دسترسي تك عضوي نداره ديگه نه؟

  6. #26
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    متوجه منظورتون نشدم. شايد منظورتون كد زير باشه:
    با كد زير ميتونيد به تمام عناصر مثلا سطر دوم دسترسي داشته باشيد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  7. #27
    پروفشنال محمد امين's Avatar
    تاريخ عضويت
    Mar 2005
    محل سكونت
    در پناه حق
    پست ها
    808

    پيش فرض

    سلام someone جان خوب هستين؟
    بازم سوال.
    يك تصوير دارم كه بصورت باينري هست ولي مقدار سفيد اون 255 و سياه اون 0 هست. (به عبارت ديگه فرمتش Format8bppIndexed هست). ولي من ميخوام كه اين تصوير رو بصورتي در بيارم كه مقدار سفيد اون 1 و مقدار سياه اون 0 باشه. (يعني Format1bppIndexed كه البته توي فرمتها من نديدم داشته باشيم). مقدار رو هم نميخوام مستقيم از 255 به 1 تغيير بدم چون توي نمايش تصوير يه صفحه سفيد مياد بجاي تصوير سياه و سفيد. ميخوام تصوير همون شكلي بمونه فقط مقدار سفيدش 1 بشه.
    دليل اين كارم هم اينه كه يك سري محاسبات سنگين روي تعداد زيادي تصوير (چند هزار تا) ميخوام انجام بدم و از طرفي تصاويري كه ميخوام باهاشون كار كنم بصورت 1 و 0 هستند و ضمنا با 0 و 255 كلي زمان پردازشش بالا ميره (بخاطر تكرار زياد)
    راهي وجود داره كه اين تبديل رو انجام بدم؟

  8. #28
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    و ممنون.
    همونطور که گفتید Format8bppIndexed اطلاعات هرpixel رو در یک byte یا 8bit نگهداری میکنه.
    در کلاس Imaging یک enumerator وجود داره که به نام PixelFormat که format رنگ هر pixel از یک image رو مشخص میکنه. یکی از member هایی که داره Format1bppIndexed که pixelformat رو برای هر pixel یک بیت در
    نظر میگیره. این همون کاری که شما میخواید انجام بدید. به نظر من میتونید
    Image تون رو از هر format ی که هست ( 8bit,16bit,32bit ) به monochrome یا همون 1bitpp تبدیل کنید.در این
    صورت همون طور که گفتید به ازای هر pixel تنها یک bit در نظر گرفته میشه. که یا 0 هست یا 1
    بنابراین میتونید اول یه تبدیل انجام بدید و بعد image تون روprocess کنید.
    برنامه ای که نوشتم این کار رو انجام میده ولی باز بهینه نیست.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    الگوریتم کار به این صورت هست:
    عکس مورد نظر رو در یک Bitmap قرار میدید.بعد یک bitmap با طول و عرض عکس و با format
    مورد نظر 1bitpp هست ایجاد میکنید.دقت کنین که این عکس توسط شما نوشته میشه. نوبت به استفاده از کلاس
    BitmapData میرسه.چون ما نیاز دارم که عکس رو خودمون ایجاد کنیم. این کلاس باعث میشه که بتونیم از
    LockBits و UnlockBits استفاده کنیم. استفاده از این دو تابع ضروریه. چون ما به یه Buffer نیاز داریم که بتونیم عملیات خوندن و نوشتن رو روش انجام بدیم(LockBits ) و نتیجه رو روی bitmap ایجاد شده کپی کنیم. (UnlockBits) .شروع میکنیم و با مقایسه ی تک تک pixel ها این کار رو انجام میدیم. اگه روشنایی pixel ها از 0.5 بيشتر بود در BitmapData مقدار 1 یا true رو قرار میدیم. توجه کنین که به طور پیشفرض تمام pixel ها 0 هستند و تصویر کاملا سیاه هست. تا حالا کاری که انجام دادیم رو Buffer بوده و توسط UnlockBits دوباره به bitmap خودمون انتقال میدیم. الان bitmap ما کاملا monochrome هست.

    مهمترین بخش این برنامه تایع SetIndexedPixel هست که به صورت زیر تعریف میشه.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توجه کنید که این تابع unsafe هست (به دلیل استفاده از pointer ها) و بنابراین باید اجازه
    کامپایل شدن رو بهش بدید که با Set کردن گزینه ی Allow unsafe code برنامه کامپایل
    میشه.
    در ضمن این namespace رو باید به برنامه اضافه کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    امیدوارم توضیحات کامل بوده باشن. هر جا لازم شد بگید تا توضیح بدم.
    كم كم داره جالب ميشه!
    Last edited by someone; 16-10-2006 at 12:01.

  9. #29
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    راستي مشكلتون حل شد؟ دوبارهVS.net و framework نصب كرديد؟

  10. #30
    پروفشنال محمد امين's Avatar
    تاريخ عضويت
    Mar 2005
    محل سكونت
    در پناه حق
    پست ها
    808

    پيش فرض

    نقل قول نوشته شده توسط someone
    راستي مشكلتون حل شد؟ دوبارهVS.net و framework نصب كرديد؟
    سلام مجدد.
    مشكلم كه حل شد .ولي نه با نصب دوباره اينها. بلكه همونطور كه گفتم با setup ساختن. البته هنوز با setup هم توي كامپيوتر خودم نشون نميده ولي مهم نيست. روي كامپيوترهاي ديگه اجرا بشه كافيه!
    راستي راجع به اون برنامه اي كه براي 1 بيتي كردن نوشتيد، توضيحات شما كافي بود ولي من متوجه نشدم چور بايد از تابع Convert_8bitI_to_1bitI استفاده كنم؟ من الان يه تصوير دارم. اونو بجاي دستور تعريف bitmap ميارم. بقيه برنامه رو هم ميبرم توي متد اصلي كه نوشته بودم. ولي هنوز كار نميكنه. بذاريد ببينم مشكل از كجاست بهتون ميگم.
    موفق باشين.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •