PDA

View Full Version : سوال: ایجاد واتر مارک (متن) بر روی تصویر و برعکس (استخراج متن از تصویر)



hamid-nic
یک شنبه 06 فروردین 1391, 12:15 عصر
سلام دوستان ، سال نو مبارک ، وقتتان بخیر
می خواستم عمل واتر مارک کردن یک تصویر با متن دلخواه را بوسیله ی دلفی انجام بدهم و همچنین برعکس یعنی متنی که در عکس گذاشتیم و به عکس تبدیل شده بود را به متن تبدیل کنم ؟ چند جا جست و جو کردم اما چیزی که بتونم ازش ایده بگیرم و کمکم کنه پیدا نکردم . از دوستانی که در این زمینه کار کردند و تجاربی دارند درخواست دارم که من را راهنمایی کنند ؟
ممنون

BORHAN TEC
یک شنبه 06 فروردین 1391, 17:54 عصر
چند جا جست و جو کردم اما چیزی که بتونم ازش ایده بگیرم و کمکم کنه پیدا نکردم .دلیلش اینه که سوال شما خیلی کلی است.:متعجب:

می خواستم عمل واتر مارک کردن یک تصویر با متن دلخواه را بوسیله ی دلفی انجام بدهممی توانید برای اینکار از کلاس TBitmap به شکل زیر استفاده کنید:
procedure TForm1.Button1Click(Sender: TObject);
var
BMP: TBitmap;
begin
BMP := TBitmap.Create;
try
BMP.LoadFromFile('c:\Input.bmp');

with BMP.Canvas do
begin
Font.Name := 'tahoma';
Font.Style := [fsBold];
Font.Color := clBlue;

TextOut(10, 10, 'Hello Delphi!');
end;
BMP.SaveToFile('c:\output.bmp');
finally
BMP.Free
end;
end;

همچنین برعکس یعنی متنی که در عکس گذاشتیم و به عکس تبدیل شده بود را به متن تبدیل کنم ؟ همانطور که میدانید، انجام این کار به هیچ عنوان ساده نیست و این مورد یک تخصص مجزا در دنیای برنامه نویسی است، یعنی Image Processing .:چشمک:

Felony
یک شنبه 06 فروردین 1391, 18:40 عصر
اگر قراره Watermark رو خودتون با برنامه خودتون به عکس اضافه کنید ، اگر من بودم به جای دردسر نوشتن OCR و الگوریتم های پردازش تصویر در این مورد بهخصوص ، متن Watermark رو به صورت کد شده داخل خود عکس نگهداری میکردم .

hamid-nic
دوشنبه 07 فروردین 1391, 00:56 صبح
همانطور که میدانید، انجام این کار به هیچ عنوان ساده نیست و این مورد یک تخصص مجزا در دنیای برنامه نویسی است، یعنی Image Processingبله دوست عزیز می دونم که باید از پردازش تصویر استفاده کنم . همچنین از شبکه های عصبی یا منطق فازی و .. می خواستم ببینم نمونه کار یا چیزی که بتونه خیلی سریعتر مرا به هدفم برسونم هست یا نه ؟
بابت کد بالا هم خیلی ممنون

اگر قراره Watermark رو خودتون با برنامه خودتون به عکس اضافه کنید ، اگر من بودم به جای دردسر نوشتن OCR و الگوریتم های پردازش تصویر در این مورد بهخصوص ، متن Watermark رو به صورت کد شده داخل خود عکس نگهداری میکردم .
آقای تاجیک عزیز در این مورد هدف فقط واتر مارک کردن و بر عکس این عمل است روش های دیگه که شما نام بردید برای کاری که قراره انجام بشه لازم و ضروری نیست . به هر حال ممنون .

mbshareat
دوشنبه 07 فروردین 1391, 09:32 صبح
با اجازه بزرگتر ها!
آقا اگه قراره همیشه یک کلمه خاص رو در محل خاصی از تصویر مثلا گوشه سمت راست پایین با فاصله معینی از گوشه بنویسین می تونین RGB نقاط رو در صورتی که از عدد خاصی کمتر نباشند با کم کردن آن عدد مشخص کمی تیره کنین و بعد در صورت صفر نبودن RGB ، با اضافه کردن همون عدد روشن کنین که مثل اولش بشه!

mbshareat
دوشنبه 07 فروردین 1391, 09:36 صبح
سلام

متن Watermark رو به صورت کد شده داخل خود عکس نگهداری میکردم .
جناب تاجیک عزیز! چطور متن رو توی تصویر کد کنیم؟ آیا ناهنجاری رنگ ایجاد نمیشه؟

Felony
دوشنبه 07 فروردین 1391, 09:43 صبح
سلام

جناب تاجیک عزیز! چطور متن رو توی تصویر کد کنیم؟ آیا ناهنجاری رنگ ایجاد نمیشه؟
خیر ؛ متن رو ابتدا به وسیله الگوریتم مورد نظر کد میکنید و سپس رشته حاصل شده رو به آخر فایل اضافه میکنیم ، برای اینکه بعدا بتونیم محل شروع رشته کد شده رو پیدا کنیم میتونیم از چند کارکتر با چیدمان خاص استفاده کنیم .

BORHAN TEC
دوشنبه 07 فروردین 1391, 10:16 صبح
جناب تاجیک عزیز! چطور متن رو توی تصویر کد کنیم؟ آیا ناهنجاری رنگ ایجاد نمیشه؟
البته علاوه بر روشی که آقای تاجیک به آن اشاره کردند، یک روش دیگر برای کد کردن متن در عکس استفاده از بیتهای کم ارزش پیکسلهای عکس می باشد. البته با این روش کیفیت قسمتی از عکس به شکل بسیار نامحسوسی کاهش می یابد.

Ananas
دوشنبه 07 فروردین 1391, 11:17 صبح
البته علاوه بر روشی که آقای تاجیک به آن اشاره کردند، یک روش دیگر برای کد کردن متن در عکس استفاده از بیتهای کم ارزش پیکسلهای عکس می باشد. البته با این روش کیفیت قسمتی از عکس به شکل بسیار نامحسوسی کاهش می یابد.
ببخشید ولی خطر ناکه اگه تصویر فرمتش یا سایزش یا یکفیتش به هر دلیلی بخواد عوض بشه اطلاعات شوت شده.

BORHAN TEC
جمعه 11 فروردین 1391, 16:12 عصر
بله دوست عزیز می دونم که باید از پردازش تصویر استفاده کنم . همچنین از شبکه های عصبی یا منطق فازی و .. می خواستم ببینم نمونه کار یا چیزی که بتونه خیلی سریعتر مرا به هدفم برسونم هست یا نه ؟میدونم که این تاپیک کمی قدیمی شده، ولی برای این که سریعتر به هدفتون برسید پیشنهاد می کنم که از کامپوننت های شرکت mitov Software استفاده کنید. همچنین نمونه کدهای مختلفی در رابطه با اون وجود داره که واقعاً جالب هستند. به تمامی دوستان توصیه می کنم که حتماً به سایت زیر یک سری بزنند. :چشمک:

این هم آدرس سازنده:
http://www.mitov.com/

hamid-nic
جمعه 11 فروردین 1391, 21:24 عصر
این کامپوننت ها تجاری اند یا جنبه ی free هم دارند ؟

Felony
جمعه 11 فروردین 1391, 21:37 عصر
تجاری هستن ، سری کامپوننت های مختلف این کمپانی مثل VideoLab , AudioLab و ... در نوع خود بینظیر هستند .

یکسری کامپوننت رایگان هم داره که میتونید مشاهدشون کنید : http://www.mitov.com/free_downloads

hamid-nic
جمعه 11 فروردین 1391, 21:50 عصر
واقعاً جالبه .... :متعجب::کف: