Przetwarzanie obrazów grafiki 2D
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Отрывок из книги
Pierwszy przykład polega na nałożeniu gradientu na istniejący obraz. Na podstawie tego przykładu pokażemy podstawowe elementy OpenCL, jakie wykorzystuje się w przetwarzaniu obrazów.
Pierwszy problem, jaki pojawia się nawet w najprostszym zadaniu, to wybór formatu przechowywania informacji o obrazie. W tym przykładzie będziemy stosować format RGBA1, czyli trójkę kolorów, tj. czerwony, zielony, niebieski oraz kanał alfa. Wymaga to naturalnie przygotowania odpowiednich buforów danych, dla których trzeba określić format obrazu. W tym celu stosowany jest typ cl_image_format
.....
Tradycyjnie początek jest umieszczony we współrzędnych (0, 0), ale mamy też trzeci parametr, który jest stosowany dla obrazów trójwymiarowych. W przykładzie zajmujemy się obrazem dwuwymiarowym, więc trzeci parametr przyjmuje wartość zero.
Dla zmiennej region dwa pierwsze parametry to lewy dolny wierzchołek obrazu, trzeci parametr znajduje zastosowanie w przypadku obrazu trójwymiarowego. Jednak jeśli region odnosi się do obrazu dwuwymiarowego, standard OpenCL wymaga, aby była wstawiona tam wartość jeden:
.....