مساعدة في معالجة هذه الصورة بالماتلاب


(ruaasss) #1

السلام عليكم

اخوتي الاعزاء

حصلت على الصورة المرفقة بعد سلسلة عمليات على الصورة الاصليةو لكن للحصول على النتيجة النهائية للمطلوب فانني احتاج مساعدتكم وهي كيف استطيع الحصول على صورة تحتوي على اوردة الدم بشكل واضح ودقيق على شكل خطوط دقيقه

من خلال استخدام الصورة المرفقة

هل هنالك افكار او مقترحات لاستخدام دوال محدده علما ان معلوماتي بالماتلاب لاتزال محدودة

شكرا


(ruaasss) #2

لماذا هكذا يااخوتي

كل هذه المشاهدات والمتواجدين في قسم الماتلاب ولا حتى رد واحد


(Ahmed) #3

[CENTER][FONT=Traditional arabic][SIZE=5]اخي الكريم

اظن ان طريقة طرحك للسؤال ليست بالواضحة

شوف اخي
انا لم افهم جيدا
لكن ساجاوب على حسب فهمي

انت تبحث عن طريقة تعالج بها الصورة لتتمكن من تحديد مكان اوردة الدم
يعني انك تحدد اماكن الخطوط

في هذا المجال اشهر طريقتين هما
Radon transform

Hough transform

وهما تحويلات هندسية - حسابية تسمح باظهار الخطوط في الصور

وهما جد مستخدمان في معالجة الصور الطبية
فمثلا
[/size][/font][FONT=Traditional arabic][SIZE=5]Radon transform
هي مبدا عمل اجهزة الاشعه X

وضح اكثر وان شاء الله نكون في الخدمة :slight_smile:
[/size][/font][/center]


(ruaasss) #4

السلام عليكم

اخي العزيز شكرا لاهتمامك

انا الان احتاج الى معالجه او تحسين لهذه الصورة فقط حتى اتمكن لاحقا من استخلاص الاوردة بشكل دقيقا مثلا كيف اتخلص من الشوائب المرافقة للصورة وكيف اقوم ايضا بترقيق الاوردة وجعلها بشكل خطوط رفيعه هذا هو القصد من سؤالي

انا اعرف hough transform لكنها ممكن ان تستعمل في الخطوة التالية وهي استخلاص الخصائص المطلوبة من نماذج الاوردة نفسها بعد ان احصل عليها بشكل جيد وبكفاءة في الخطوة الاولى والتي هي اعلاه

شكرا


(Ahmed) #5

[CENTER][SIZE=5][FONT=Traditional arabic]السلام عليكم
الامر واسع قليلا

ساحاول ان اعطيك بعض الانطلاقات والباقي عليك اخي

ماتلاب يوفر لنا الدالة :
edge
والتي تستخدم في البحث عن الحواف في الصور

اهم الطرق
باستخدام Roberts Operator[/font][/size]
ستجد معلومات عليه في ويكيبيديا هنا
وهذا مثال بسيط

clc;
clear all;
close all;

Image = imread('oxfo.jpg');

if(ndims(Image)== 3)
    inImg = rgb2gray(Image);
end

Th = 0.06;
Result = edge(inImg,'roberts',Th);

subplot(121);imshow(Image);title('Original image');
subplot(122);imshow(Result);title('Result image');

نتحكم في هذه الطريقة بواسطة زيادة او انقاص الحد Th

نتائج على بعض الامثلة : تتحصل على نتائج مختلفة بتغيير
الحد Th

ملاحظات :
نتيجة هذه الطريقة تتعلق بنوعية الصورة
هذه الطريقة لا تعطينا معلومات حول الاتجاه
تعمل جيدا مع الصور
[FONT=Traditional arabic][SIZE=4]binary
جد حساسة للتشويش

[/size][/font]

[/center]


(Ahmed) #6

[CENTER] باستخدامSobel Operator


[SIZE=5][FONT=Traditional arabic]ستجد معلومات عليه في ويكيبيديا هنا

وتستطيع ان ترى الامثلة باستخدام نفس الكود السابق بتغيير
[/font][/size]

Result = edge(Image,'Sobel',Th);

نفس الشيء بالنسبة للطرق الاخرى
[FONT=Traditional arabic][SIZE=4][COLOR=Red]Prewitt Operator
Laplacian of Gaussian Method
Zero-cross Method
Canny Method

[COLOR=Black]هذه الطرق تبقى محدودة وتتعلق دائما بنوعية الصورة الاصلية
كما هناك طريقة
Kirsch
والتي تستخدم اقنعة معينة وهي ذات فعالية جيدة لكنها ايضا تتطلب وقت حساب كبير

لذلك فهناك طرق اشد فاعلية منها
لذلك تبقى
[/color][/color][/size][/font]Radon transform
Hough transform

اهم واحسن الطرق

[/center]


(ruaasss) #7

بارك الله بك وجعله في ميزان حسناتك