API منبع باز .NET برای تصاویر
کتابخانه دات نت رایگان برای کار با فضاهای رنگی
Colorful یک کتابخانه منبع باز است که به زبان C# برای دستکاری رنگ ها در تصاویر نوشته شده است. API طیف گسترده ای از ویژگی های دستکاری رنگ از جمله تبدیل رنگ، سازگاری رنگی و تبدیل بین فضاهای کاری RGB را امکان پذیر می کند. Colorful همچنین از محاسبه دمای رنگ همبسته (CCT) از رنگی بودن و محاسبه رنگی بودن از CCT پشتیبانی می کند.
علاوه بر این، API چندین فرمول برای تمایز بین رنگ ها دارد، رنگارنگ شامل تعاریف تمام 24 رنگ Macbeth ColorChecker در sRGB است که برای کالیبراسیون رنگ مفید هستند.
شروع به کار با رنگارنگ
روش توصیه شده برای نصب Colorful از طریق NuGet است. لطفا از دستور زیر برای نصب Colorful استفاده کنید.
Colorful را از NuGet نصب کنید
PM> Install-Package Colourful
استخراج متادیتا از تصاویر با استفاده از سی شارپ
رنگارنگ امکان استخراج طیف گسترده ای از اطلاعات فراداده را از تصاویر فراهم می کند. شما می توانید تمام اطلاعات موجود در تصویر را با حلقه کردن دایرکتوری ها و سپس با حلقه زدن هر تگ در آن استخراج کنید. دایرکتوری حاوی اطلاعات نوع ابرداده و برچسب شامل ویژگی ها است. شما می توانید اطلاعات خاصی را از تصاویر با استفاده از روش Directories.OfType().FirstOrDefault() استخراج کنید.
استخراج یادداشت های Camera Specific Maker با استفاده از C#
API Colorful پردازش تصویر منبع باز امکان استخراج یادداشت های سازنده مخصوص دوربین را برای دوربین های Canon، Apple، Agfa، Casio، DJI، Epson، Fujifilm، Kodak، Kyocera، Leica، Minolta، Nikon، Olympus، Panasonic، Pentax، Reconyx، Sanyo، می دهد. سیگما/فوون و سونی.
تبدیل رنگ b/t فضاهای رنگی با استفاده از C#
کتابخانه رنگارنگ منبع باز به طور کامل از تبدیل بین فضاهای رنگی داخل برنامه دات نت پشتیبانی می کند. این برنامه توسعهدهنده نرمافزار را قادر میسازد تا تنها با چند خط کد C#، رنگها را از یک فضای رنگی منبع به یک فضای رنگ هدف واحد تبدیل کند. برای دستیابی به هر نوع تبدیل، ابتدا باید یک شی مبدل بسازید.
یک رنگ را از sRGB به XYZ تبدیل کنید
IColorConverter converter = new ConverterBuilder()
.FromRGB(RGBWorkingSpaces.sRGB)
.ToXYZ(Illuminants.D65)
.Build();
RGBColor rgbColor = new RGBColor(1, 0, 0.5);
XYZColor xyzColor = converter.Convert(rgbColor); // XYZ [X=0.45, Y=0.23, Z=0.22]