1. Ürün:% s
  2.   resim
  3.   C++
  4.   Boost.GIL

Boost.GIL

 
 

Açık Kaynak C++ Genel Görüntü Kitaplığı

Algoritmalardan görüntü temsillerini soyutlayan ve basit ve karmaşık görüntülerle çalışmayı destekleyen C++ API. Bir Histogram oluşturun, görüntü gradyanlarını hesaplayın, evrişim ve yeniden örnekleme vb.

Görüntüler, grafik, dijital video, bilgisayar görüşü ve görüntü işleme ile ilgili birçok projenin temel parçasıdır. Ayrıca, görüntüler birçok farklı şekilde temsil edilebilir (renk alanı, bit derinliği, kanal düzeni, hizalama politikası vb.). Bu nedenle, genel olduğu kadar verimli de olabilen, görüntüyle ilgili yeni bir proje üzerinde çalışmak çok zordur. Boost Generic Image Library (GIL), yazılım geliştiricilere kendi C++ uygulamalarında basit ve karmaşık görüntülerle çalışma olanağı sağlayan açık kaynaklı bir kitaplıktır.

Boost ile ilgili büyük şey. IL kütüphanesi, algoritmaların görüntü gösterimidir ve belirli bir görüntü türü için el yazma ile karşılaştırılabilir performansla çeşitli görüntüler üzerinde çalışabilecek yazı kodu yazmaktadır. Bu yüzden geliştiricinin işlerini bir kez kod yazmalarına ve herhangi bir görüntü türü için çalışmasına izin vererek kolaylaştırmaktadır.

Boost. IL kütüphanesi bir TL ve Boost övgü olarak tasarlanmıştır. Kütüphanenin diğer büyük yönü hız ve esnekliktir. Hız, kütüphanenin tasarımının önemli bir parçası olmuştur. Başka birçok kütüphaneye kıyasla çok küçük bir performans maliyeti için zaman koşmakta herhangi bir görüntü parametresini kolayca tanımlayabilirsiniz. Gönderici olmayan piksel gibi birkaç önemli özellik için destek sağlar, bilgisayar görüntüsü gradients, Boots entegrasyonu, bir kanalı gri ölçekli bir piksele, konsolasyon ve örneklemeye atamak.

Previous Next

Boost.GIL'e Başlarken

Boost.GIL'i kurmanın en kolay yolu GitHub kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın

Boost.GILvia GitHub'ı yükleyin.

git clone --https://github.com/boostorg/gil

Görüntüleri okuma ve yazma

Histogram, dijital bir görüntüdeki ton dağılımının grafiksel gösterimidir. Görüntü işleme bağlamında, bir görüntünün histogramı normalde piksel yoğunluğu değerlerinin bir histogramına atıfta bulunur. Boost.GIL kitaplığı, yazılım geliştiricilerin C++ kodunu kullanarak kendi uygulamaları içinde bir histogram oluşturmasını sağlar. Her kutuya düşen piksel değerlerinin sayısı sayılarak oluşturulabilir. Ayrıca görüntünün parlaklık histogramını kolaylıkla hesaplayabilirsiniz.

Resim C++ API

#define png_infopp_NULL (png_infopp)NULL
#define int_p_NULL (int*)NULL
#include 
#include 
using namespace boost::gil;
int main()
{
    rgb8_image_t img(512, 512);
    rgb8_pixel_t red(255, 0, 0);
    fill_pixels(view(img), red);
    png_write_view("redsquare.png", const_view(img));
}

C++ API kullanarak Piksel Düzeyinde Görüntü İşlemleri

Açık kaynak kütüphanesi Boost. IL, kendi C++ uygulamaları içinde piksel seviyesindeki görüntü operasyonları için tam destek sağladı. Kütüphane, kullanıcıların piksel değerlerini, piksel puanlayıcılarını ve piksel referanslarını ele geçirmelerini sağlayan bazı yararlı işlemleri içeriyordu, örneğin bir piksel renkli, bir kanala erişim, iki kanalı karşılaştırarak, eksiltme planlayıcısını GB'ye dönüştürmek, ve böylece.

Color Space'i Grayscale'e C++


  template 
void x_luminosity_gradient(SrcView const& src, DstView const& dst)
{
  using gray_pixel_t = pixel::type, gray_layout_t>;
  x_gradient(color_converted_view(src), dst);
}

C++ Uygulamaların Resim Dönüşümü

Açık kaynak Boost. IL kütüphanesi, yazılım programcılara sadece birkaç kodla görüntüleri döndürme yeteneği verir. Boost. IL, herhangi bir eksenli rotasyon gerçekleştirebilecek çeşitli görüntü dönüşüm işlevlerini destekler, dikey veya yatay olarak, dikdörtgen bir alt görüntü çıkarır, renkli dönüşüm uygular, 90, 180 veya 270 derece ile özel rotasyonlar uygulayın.

Image Dönüşüm C++ API


  template 
  void y_gradient(const SrcView& src, const DstView& dst) {
      x_gradient(rotated90ccw_view(src), rotated90ccw_view(dst));
  }
 Türkçe