nmpp
Титульная страница
nmpp
Структуры данных
Файлы
Файлы
Список членов всех файлов
include
nmpli
iConvert.h
1
//#ifndef __ICONVERT_H
2
//#define __ICONVERT_H
3
//
5
//#include "nmtype.h"
6
//#include "iDef.h"
7
//
8
//
9
//#ifdef __cplusplus
10
// extern "C" {
11
//#endif
12
//
14
//
15
// /**
16
// \internal
17
// \defgroup nmppiRShiftConvert nmppiRShiftConvert
18
// \ingroup iInit
19
// \brief
20
// \ru Преобразование типов для элементов изображения.
21
// \en Conversion of types for image elements.
22
//
23
// \~
24
//
25
// \f[
26
// pDst(x,y) = Convert(pSrcImg(x,y) >> nShift)
27
// \f]
28
//
29
// \f[ x = \overline{0 \ldots nWidth-1}, \quad
30
// y = \overline{0 \ldots nHeight-1}
31
// \f]
32
//
33
// \ru Функция преобразует тип элементов путем отсечения верхних разрядов.
34
// \en The function converts a type of elements by means of most significant bits truncation.
35
//
36
// \~
37
// \~
38
// \param pSrcImg
39
// \ru Указатель на первый элемент ROI для исходного изображения.
40
// \en Pointer to the first ROI element for the source image.
41
// \~
42
// \param nSrcStride \ru Межстроковое смещение для исходного изображения
43
// (измеряется в 32-х разрядных словах).
44
// \en Row-to-row shift for the source image \n
45
// (measured in 32-bit words).
46
// \param pDstImg
47
// \ru Указатель на первый элемент ROI для результирующего изображения.
48
// \en Pointer to the first ROI element for the result image.
49
// \~
50
// \param nDstStride \ru Межстроковое смещение для результирующего изображения
51
// (измеряется в 32-х разрядных словах).
52
// \en Row-to-row shift for the result image \n
53
// (measured in 32-bit words).
54
// \param nShift
55
// \ru Определяет число бит на которое предварительно сдвигается исходное
56
// изображение.
57
// \en Defines for how many bits the source image is preliminary shifted.
58
// \~
59
// \param nWidth
60
// \ru Ширина ROI (измеряется в пикселях).
61
// \en ROI width (measured in pixels).
62
// \~
63
// \param nHeight
64
// \ru Высота ROI (измеряется в пикселях).
65
// \en ROI height (measured in pixels).
66
//
67
// \~
68
// \return \e void
69
//
70
// \restr
71
// \ru
72
// - Указатели на первый элемент ROI должны быть выровнены
73
// в памяти на границу 64-х разрядного слова;
74
// - Ширина ROI должна быть кратна числу пикселей результирующего изображения
75
// в 64-х разрядном слове;
76
// - Межстроковые смещения должны быть кратны двум.
77
// - Значение параметра nShift должно быть кратно 2.
78
// \en
79
// - Pointers to the first ROI element should be aligned
80
// in memory by the 64-bit word boundary;
81
// - ROI width should be divisible by the number of pixels of the result image
82
// in a 64-bit word;
83
// - Row-to-row shifts should be divisible by two;
84
// - nShift parameter value should be divisible by two.
85
//
86
// \par
87
// \xmlonly
88
// <testperf>
89
// <param name="pSrcImg"> im0 im1 </param>
90
// <param name="nSrcStride"> 128 </param>
91
// <param name="nShift"> 2 </param>
92
// <param name="pDstImg"> im0 im1 </param>
93
// <param name="nDstStride"> 64 </param>
94
// <param name="nHeight"> 128 </param>
95
// <param name="nWidth"> 128 </param>
96
// <size> nWidth*nHeight </size>
97
// </testperf>
98
// <testperf>
99
// <param name="pSrcImg"> im0 </param>
100
// <param name="nSrcStride"> 128 </param>
101
// <param name="nShift"> 2 </param>
102
// <param name="pDstImg"> im1 </param>
103
// <param name="nDstStride"> 64 </param>
104
// <param name="nHeight"> 128 </param>
105
// <param name="nWidth"> 8 32 128 </param>
106
// <size> nWidth*nHeight </size>
107
// </testperf>
108
// \endxmlonly
109
// */
110
// //! \{
111
//void nmppiRShiftConvert(nm32s* pSrcImg, int nSrcStride, nm16s* pDstImg, int nDstStride, int nShift, int nWidth, int nHeight);
112
// //! \}
113
//
114
//
128
//
129
// /**
130
// \defgroup nmppiConvert nmppiConvert
131
// \ingroup iInit
132
// \brief
133
// \ru Преобразование типов для элементов изображения.
134
// \en Conversion of types for image elements.
135
//
136
// \~
137
// \ru Функция конвертирует элементы RGB между 8-м разрядным представлением
138
// и 10-ти разрядным.
139
// \en Function converts RGB elements between 8-bits presentation and 10-bits.
140
//
141
// \~
142
// \~
143
// \param pSrcImg
144
// \ru Указатель на первый элемент исходного изображения.
145
// \en Pointer to the first element of the source image.
146
// \~
147
// \param pDstImg
148
// \ru Указатель на первый элемент результирующего изображения.
149
// \en Pointer to the first element of the result image.
150
// \~
151
// \param nSize
152
// \ru Количество элементов в изображении.
153
// \en Quantity of elements.
154
//
155
// \~
156
// \return \e void
157
//
158
// \restr
159
// \ru
160
// - Указатели на изображения должны быть выровнены
161
// в памяти на границу 64-х разрядного слова;
162
// \en
163
// - Pointers to the images should be aligned in memory
164
// by the 64-bit word boundary;
165
//
166
// \par
167
// \xmlonly
168
// <testperf>
169
// <param name="pSrcImg"> im0 im1 </param>
170
// <param name="pDstImg"> im0 im1 </param>
171
// <param name="nSize"> 128 </param>
172
// <size> nSize </size>
173
// </testperf>
174
// <testperf>
175
// <param name="pSrcImg"> im0 </param>
176
// <param name="pDstImg"> im1 </param>
177
// <param name="nSize"> 8 32 128 </param>
178
// <size> nSize </size>
179
// </testperf>
180
// \endxmlonly
181
// */
182
// //! \{
183
//void nmppiConvertRGB32_8u10u(RGB32_nm8u* pSrcImg, RGB32_nm10u* pDstImg, int nSize);
184
//void nmppiConvertRGB32_10u8u(RGB32_nm10u* pSrcImg, RGB32_nm8u* pDstImg, int nSize);
185
// //! \}
186
//
187
//
188
//
205
//
206
// /**
207
// \defgroup nmppiRGB32ToGray nmppiRGB32ToGray
208
// \ingroup iInit
209
// \brief
210
// \ru Преобразование пикселей из RGB в яркость
211
// \en
212
//
213
// \~
214
// \param pRGB
215
// \ru Вход, по 4 байта на пиксель. Порядок байтов B, G, R, 0.
216
// \en
217
// \param pDstGray
218
// \ru Результат в виде 32 битных целых чисел, в которых
219
// полезные данные занимают младшие 24 бита. Для получения
220
// восьмибитовых пикселей неоходимо вырезать биты 16..23,
221
// например, с помощью
222
// nmppsClipRShiftConvert_Add_32s(nm32s* pSrcVec, int nClipFactor,int nShift, nm64u* nAddValue,nm8s* pDstVec, int nSize);
223
// с параметрами nClipFactor=24, nShift=16.
224
// \en
225
// \param nSize
226
// \ru Количество пикселей на входе и выходе. nSize=[64,128,192,...]
227
// \en
228
// \param pTmpBuf
229
// \ru Временный массив размером nm32s[nSize] .
230
// \en Temporary array with size of nm32s[nSize].
231
//
232
// \~
233
// \par
234
// \xmlonly
235
// <testperf>
236
// <param name="pRGB"> im0 im1 </param>
237
// <param name="pDstGray"> im0 im1 </param>
238
// <param name="pTmpBuf"> im0 im1 </param>
239
// <param name="nSize"> 128 </param>
240
// <size> nSize </size>
241
// </testperf>
242
// <testperf>
243
// <param name="pRGB"> im0 </param>
244
// <param name="pDstGray"> im1 </param>
245
// <param name="pTmpBuf"> im2 </param>
246
// <param name="nSize"> 8 32 128 </param>
247
// <size> nSize </size>
248
// </testperf>
249
// \endxmlonly
250
//
251
// */
252
// //! \{
253
//void nmppiRGB32ToGray_8u32u(RGB32_nm8u* pRGB, nm32u* pDstGray, int nSize);
254
//void nmppiRGB32ToGray_8u32s(RGB32_nm8u* pRGB, nm32s* pDstGray, int nSize);
255
//void nmppiRGB32ToGray_8u8s(RGB32_nm8u* pRGB, nm8s* pDstGray, int nSize, void *pTmpBuf);
256
//
257
//void nmppiRGB32ToGray_10s32s(RGB32_nm10s* pRGB, nm32s* pDstGray, int nSize);
258
//void nmppiRGB32ToGray_10s32u(RGB32_nm10s* pRGB, nm32u* pDstGray, int nSize);
259
//void nmppiRGB32ToGray_10s8s(RGB32_nm10s* pRGB, nm8s* pDstGray, int nSize, void *pTmpBuf);
260
// //! \}
261
//
262
//
263
//
264
//
265
//
266
//
267
// /**
268
// \internal
269
// \defgroup nmppiGrayToRGB242424242424242424 nmppiGrayToRGB242424242424242424
270
// \ingroup iInit
271
// \brief
272
// \ru преобразование из чернобелого формата в RGB24
273
// \en Gray to RGB24 conversion
274
// \~
275
// \~
276
// \param pSrcImg
277
// \ru Входное изображение
278
// \en Input image
279
// \~
280
// \param pDstImg
281
// \ru Выходное изображение
282
// \en Output image
283
// \~
284
// \param nSize
285
// \ru Размер изображение в пикселях
286
// \en Size of image in pixels
287
// \~
288
// */
289
// //! \{
290
//void nmppiGrayToRGB242424242424242424(nm8u* pSrcImg, RGB24_nm8u* pDstImg, int nSize);
291
//void nmppiRGB24ToGray(RGB24_nm8u* pRGB, nm8u* pDstGray, int nSize);
292
// //! \}
293
// #ifdef __cplusplus
294
// };
295
// #endif
296
//#endif
297
//
Создано системой
1.9.5