Boost.GIL
Oscail Leabharlann Íomhánna Cineálach C++
C++ API a achoimríonn léiriúcháin íomhá ó halgartaim agus a thacaíonn le hoibriú le híomhánna simplí agus casta. Gin Histeagram, ríomh grádáin íomhá, convolution & athshampláil, agus mar sin de.
Tá íomhánna mar chuid bhunúsach de go leor tionscadal a bhaineann le grafaicí, físeán digiteach, fís ríomhaire, agus próiseáil íomhá. Ina theannta sin, is féidir íomhánna a léiriú ar go leor bealaí éagsúla (spás datha, doimhneacht giotán, ord cainéal, beartas ailínithe, etc.). Mar sin tá sé an-dúshlánach oibriú ar thionscadal nua a bhaineann le híomhánna atá cineálach agus éifeachtach. Is leabharlann foinse oscailte í Boost Generic Image Library (GIL) a thugann an cumas d’fhorbróirí bogearraí oibriú le híomhánna simplí agus casta laistigh dá bhfeidhmchláir C++ féin.
Is é an rud iontach faoi leabharlann Boost.GIL ná go n-achoimríonn sé léirithe íomhá ó halgartaim agus go gceadaíonn sé cód a scríobh ar féidir oibriú ar éagsúlacht íomhánna le feidhmíocht atá inchomparáide le lámhscríbhneoireacht do chineál áirithe íomhá. Mar sin déanann sé poist fhorbróra éasca trí ligean dóibh cód a scríobh uair amháin agus é a bheith ag obair d'aon chineál íomhá.
Tá leabharlann Boost.GIL deartha mar mholadh STL agus Boost. Gné iontach eile den leabharlann ná luas agus solúbthacht. Bhí luas mar chuid lárnach de dhearadh na leabharlainne. Is féidir leat aon pharaiméadar íomhá a shainiú go héasca ag am rite ar chostas feidhmíochta an-bheag i gcomparáid le go leor leabharlann eile. Soláthraíonn sé tacaíocht do roinnt gnéithe tábhachtacha cosúil le picteilíní neamh-beart-ailínithe, grádáin íomhá ríomhaireachta, Treisíonn comhtháthú, sanntar cainéal do picteilín ar scála liath, convolution & athshampláil, agus mar sin de.
Tús a chur le Boost.GIL
Is é an bealach is éasca chun Boost.GIL a shuiteáil ná GitHub a úsáid. Bain úsáid as an ordú seo a leanas le haghaidh suiteáil rianúil
Suiteáil Boost.GILvia GitHub.
git clone --https://github.com/boostorg/gil
Léamh agus scríobh íomhánna
Is éard is histeagram ann léiriú grafach ar an dáileadh tonach in íomhá dhigiteach. I gcomhthéacs próiseála íomhá, tagraíonn histeagram íomhá de ghnáth do histeagram de na luachanna déine picteilín. Cuireann leabharlann Boost.GIL ar chumas forbróirí bogearraí histeagram a ghiniúint laistigh dá bhfeidhmchlár féin ag úsáid cód C++. Is féidir é a ghiniúint trí líon na luachanna picteilín a thiteann i ngach bosca bruscair a chomhaireamh. Is féidir leat histeagram gealtachta na híomhá a ríomh gan stró freisin.
Ag Scríobh Íomhá trí 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));
}
Oibríochtaí Íomhá Leibhéal picteilín ag baint úsáide as C++ API
Chuir an leabharlann foinse oscailte Boost.GIL tacaíocht iomlán ar fáil d'oibríochtaí íomhá ar leibhéal picteilín laistigh dá bhfeidhmchláir C++ féin. Tá roinnt oibríochtaí úsáideacha curtha san áireamh sa leabharlann a chuireann ar chumas úsáideoirí luachanna picteilín, leideanna picteilín, agus tagairtí picteilín a láimhseáil, mar shampla daite picteilín a dhéanamh, rochtain a fháil ar chainéal, comparáid a dhéanamh idir an dá chainéal, const planar pointer a thógáil, l-luach liath a thiontú go RGB , agus mar sin de.
Tiontaigh Spás Datha go Liathscála trí 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);
}
Claochlú Íomhá taobh istigh de C++ Apps
Tugann leabharlann foinse oscailte Boost.GIL deis do ríomhchláraitheoirí bogearraí íomhánna a rothlú le cúpla líne de chód. Tacaíonn an Boost.GIL le héagsúlacht feidhmeanna claochlaithe íomhá ar féidir leo aon rothlú ais-ailínithe a dhéanamh, smeach íomhá go hingearach nó go cothrománach, fo-íomhá dronuilleogach a bhaint as, comhshó dath a chur i bhfeidhm, , rothlaithe speisialta faoi 90, 180, nó 270 céim & mar sin de. ar.
Claochlú Íomhá trí C++ API
template
void y_gradient(const SrcView& src, const DstView& dst) {
x_gradient(rotated90ccw_view(src), rotated90ccw_view(dst));
}