63 #include "allheaders.h" 66 l_int32 skipdist, l_int32 delta,
67 l_int32 maxbg, l_int32 sideflag,
101 PROCNAME(
"pixMaskConnComp");
103 if (pboxa) *pboxa = NULL;
104 if (!pixs || pixGetDepth(pixs) != 1)
105 return (
PIX *)ERROR_PTR(
"pixs undefined or not 1 bpp", procName, NULL);
106 if (connectivity != 4 && connectivity != 8)
107 return (
PIX *)ERROR_PTR(
"connectivity not 4 or 8", procName, NULL);
153 l_int32 i, n, x, y, w, h;
156 PROCNAME(
"pixMaskBoxa");
159 return (
PIX *)ERROR_PTR(
"pixs not defined", procName, NULL);
160 if (pixGetColormap(pixs))
161 return (
PIX *)ERROR_PTR(
"pixs is cmapped", procName, NULL);
162 if (pixd && (pixd != pixs))
163 return (
PIX *)ERROR_PTR(
"if pixd, must be in-place", procName, NULL);
165 return (
PIX *)ERROR_PTR(
"boxa not defined", procName, NULL);
167 return (
PIX *)ERROR_PTR(
"invalid op", procName, NULL);
171 L_WARNING(
"no boxes to mask\n", procName);
175 for (i = 0; i < n; i++) {
221 l_int32 i, n, d, rval, gval, bval, newindex;
227 PROCNAME(
"pixPaintBoxa");
230 return (
PIX *)ERROR_PTR(
"pixs not defined", procName, NULL);
232 return (
PIX *)ERROR_PTR(
"boxa not defined", procName, NULL);
235 L_WARNING(
"no boxes to paint; returning a copy\n", procName);
240 if ((cmap = pixGetColormap(pixs)) != NULL) {
244 if (pixGetDepth(pixs) == 1 || mapvacancy)
249 return (
PIX *)ERROR_PTR(
"pixd not made", procName, NULL);
251 d = pixGetDepth(pixd);
253 cmap = pixGetColormap(pixd);
257 return (
PIX *)ERROR_PTR(
"cmap full; can't add", procName, NULL);
261 for (i = 0; i < n; i++) {
287 l_int32 i, n, d, index;
293 PROCNAME(
"pixSetBlackOrWhiteBoxa");
296 return (
PIX *)ERROR_PTR(
"pixs not defined", procName, NULL);
303 d = pixGetDepth(pixd);
305 for (i = 0; i < n; i++) {
316 cmap = pixGetColormap(pixs);
322 }
else if (d == 32) {
328 }
else if (d == 16) {
332 return (
PIX *)ERROR_PTR(
"invalid depth", procName, NULL);
335 for (i = 0; i < n; i++) {
367 l_int32 i, n, d, rval, gval, bval, index;
373 PROCNAME(
"pixPaintBoxaRandom");
376 return (
PIX *)ERROR_PTR(
"pixs not defined", procName, NULL);
378 return (
PIX *)ERROR_PTR(
"boxa not defined", procName, NULL);
381 L_WARNING(
"no boxes to paint; returning a copy\n", procName);
385 if (pixGetDepth(pixs) == 1)
390 return (
PIX *)ERROR_PTR(
"pixd not made", procName, NULL);
393 d = pixGetDepth(pixd);
397 for (i = 0; i < n; i++) {
399 index = 1 + (i % 254);
439 l_int32 i, n, rval, gval, bval, index;
445 PROCNAME(
"pixBlendBoxaRandom");
448 return (
PIX *)ERROR_PTR(
"pixs not defined", procName, NULL);
450 return (
PIX *)ERROR_PTR(
"boxa not defined", procName, NULL);
451 if (fract < 0.0 || fract > 1.0) {
452 L_WARNING(
"fract must be in [0.0, 1.0]; setting to 0.5\n", procName);
457 L_WARNING(
"no boxes to paint; returning a copy\n", procName);
462 return (
PIX *)ERROR_PTR(
"pixd not defined", procName, NULL);
465 for (i = 0; i < n; i++) {
467 index = 1 + (i % 254);
501 l_int32 rval, gval, bval, newindex;
506 PROCNAME(
"pixDrawBoxa");
509 return (
PIX *)ERROR_PTR(
"pixs not defined", procName, NULL);
511 return (
PIX *)ERROR_PTR(
"boxa not defined", procName, NULL);
513 return (
PIX *)ERROR_PTR(
"width must be >= 1", procName, NULL);
516 L_WARNING(
"no boxes to draw; returning a copy\n", procName);
521 if ((cmap = pixGetColormap(pixs)) != NULL) {
525 if (pixGetDepth(pixs) == 1 || mapvacancy)
530 return (
PIX *)ERROR_PTR(
"pixd not made", procName, NULL);
533 if (pixGetDepth(pixd) == 8) {
534 cmap = pixGetColormap(pixd);
564 l_int32 i, n, rval, gval, bval, index;
570 PROCNAME(
"pixDrawBoxaRandom");
573 return (
PIX *)ERROR_PTR(
"pixs not defined", procName, NULL);
575 return (
PIX *)ERROR_PTR(
"boxa not defined", procName, NULL);
577 return (
PIX *)ERROR_PTR(
"width must be >= 1", procName, NULL);
580 L_WARNING(
"no boxes to draw; returning a copy\n", procName);
585 if (pixGetDepth(pixs) == 1) {
595 for (i = 0; i < n; i++) {
597 index = 1 + (i % 254);
642 l_int32 i, j, n, m, rbox, gbox, bbox, rboxa, gboxa, bboxa;
648 PROCNAME(
"boxaaDisplay");
651 return (
PIX *)ERROR_PTR(
"baa not defined", procName, NULL);
653 if (w <= 0 || h <= 0) {
662 cmap = pixGetColormap(pixd);
675 for (i = 0; i < n; i++) {
681 for (j = 0; j < m; j++) {
720 l_int32 i, j, nba, n, nbox, rval, gval, bval;
722 l_uint32 colors[255];
728 PROCNAME(
"pixaDisplayBoxaa");
731 return (
PIXA *)ERROR_PTR(
"pixas not defined", procName, NULL);
733 return (
PIXA *)ERROR_PTR(
"baa not defined", procName, NULL);
735 return (
PIXA *)ERROR_PTR(
"width must be >= 1", procName, NULL);
737 return (
PIXA *)ERROR_PTR(
"no boxa in baa", procName, NULL);
739 return (
PIXA *)ERROR_PTR(
"no pix in pixas", procName, NULL);
741 return (
PIXA *)ERROR_PTR(
"num pix != num boxa", procName, NULL);
753 return (
PIXA *)ERROR_PTR(
"invalid colorflag", procName, NULL);
757 for (i = 0; i < 255; i++)
760 for (i = 0; i < 255; i++) {
762 colors[i] = 0xff000000;
764 colors[i] = 0x00ff0000;
766 colors[i] = 0x0000ff00;
769 for (i = 0; i < 255; i++) {
770 rval = (l_uint32)rand() & 0xff;
771 gval = (l_uint32)rand() & 0xff;
772 bval = (l_uint32)rand() & 0xff;
778 for (i = 0; i < n; i++) {
782 for (j = 0; j < nbox; j++) {
844 BOXA *boxa, *boxas, *boxad;
848 PROCNAME(
"pixSplitIntoBoxa");
850 if (!pixs || pixGetDepth(pixs) != 1)
851 return (
BOXA *)ERROR_PTR(
"pixs undefined or not 1 bpp", procName, NULL);
856 for (i = 0; i < n; i++) {
860 delta, maxbg, maxcomps, remainder);
952 l_int32 i, w, h, boxx, boxy, bx, by, bw, bh, maxdir, maxscore;
955 BOX *boxt1, *boxt2, *boxt3;
961 PROCNAME(
"pixSplitComponentIntoBoxa");
963 if (!pix || pixGetDepth(pix) != 1)
964 return (
BOXA *)ERROR_PTR(
"pix undefined or not 1 bpp", procName, NULL);
976 while (boxs != NULL) {
980 for (i = 0; i < 4; i++) {
988 fprintf(stderr,
"Iteration: %d\n", iter);
991 fprintf(stderr,
"\nmaxdir = %d, maxscore = %d\n\n", maxdir, maxscore);
1004 if (bw < 2 || bh < 2)
1008 if (remainder == 1) {
1019 if ((iter == maxcomps) && boxs) {
1020 if (remainder == 1) {
1068 l_int32 bx, by, bw, bh, width, height, setref, atref;
1069 l_int32 minincol, maxincol, mininrow, maxinrow, minval, maxval, bgref;
1070 l_int32 x, y, x0, y0, xref, yref, colsum, rowsum, score, countref, diff;
1074 PROCNAME(
"pixSearchForRectangle");
1076 if (!pixs || pixGetDepth(pixs) != 1)
1077 return ERROR_INT(
"pixs undefined or not 1 bpp", procName, 1);
1079 return ERROR_INT(
"boxs not defined", procName, 1);
1081 return ERROR_INT(
"boxat not defined", procName, 1);
1083 return ERROR_INT(
"nascore not defined", procName, 1);
1093 xref = yref = 100000;
1095 for (x = bx; x < bx + bw; x++) {
1099 for (y = by; y < by + bh; y++) {
1102 if (y > maxincol) maxincol = y;
1103 if (y < minincol) minincol = y;
1109 if (!setref && colsum >= minsum) {
1112 if (xref >= bx + bw)
1118 if (setref && x == xref) {
1121 bgref = maxincol - minincol + 1 - countref;
1129 diff = L_ABS(colsum - countref);
1130 if (diff >= delta || x == bx + bw - 1) {
1131 height = maxval - minval + 1;
1133 if (x == bx + bw - 1) width = x - bx + 1;
1134 boxr =
boxCreate(bx, minval, width, height);
1135 score = 2 * score - width * height;
1139 maxval = L_MAX(maxval, maxincol);
1140 minval = L_MIN(minval, minincol);
1144 for (x = bx + bw - 1; x >= bx; x--) {
1148 for (y = by; y < by + bh; y++) {
1151 if (y > maxincol) maxincol = y;
1152 if (y < minincol) minincol = y;
1156 if (!setref && colsum >= minsum) {
1162 if (setref && x == xref) {
1165 bgref = maxincol - minincol + 1 - countref;
1170 diff = L_ABS(colsum - countref);
1171 if (diff >= delta || x == bx) {
1172 height = maxval - minval + 1;
1174 if (x == bx) x0 = x;
1175 width = bx + bw - x0;
1176 boxr =
boxCreate(x0, minval, width, height);
1177 score = 2 * score - width * height;
1181 maxval = L_MAX(maxval, maxincol);
1182 minval = L_MIN(minval, minincol);
1186 for (y = by; y < by + bh; y++) {
1190 for (x = bx; x < bx + bw; x++) {
1193 if (x > maxinrow) maxinrow = x;
1194 if (x < mininrow) mininrow = x;
1198 if (!setref && rowsum >= minsum) {
1201 if (yref >= by + bh)
1204 if (setref && y == yref) {
1207 bgref = maxinrow - mininrow + 1 - countref;
1212 diff = L_ABS(rowsum - countref);
1213 if (diff >= delta || y == by + bh - 1) {
1214 width = maxval - minval + 1;
1216 if (y == by + bh - 1) height = y - by + 1;
1217 boxr =
boxCreate(minval, by, width, height);
1218 score = 2 * score - width * height;
1222 maxval = L_MAX(maxval, maxinrow);
1223 minval = L_MIN(minval, mininrow);
1227 for (y = by + bh - 1; y >= by; y--) {
1231 for (x = bx; x < bx + bw; x++) {
1234 if (x > maxinrow) maxinrow = x;
1235 if (x < mininrow) mininrow = x;
1239 if (!setref && rowsum >= minsum) {
1245 if (setref && y == yref) {
1248 bgref = maxinrow - mininrow + 1 - countref;
1253 diff = L_ABS(rowsum - countref);
1254 if (diff >= delta || y == by) {
1255 width = maxval - minval + 1;
1257 if (y == by) y0 = y;
1258 height = by + bh - y0;
1259 boxr =
boxCreate(minval, y0, width, height);
1260 score = 2 * score - width * height;
1264 maxval = L_MAX(maxval, maxinrow);
1265 minval = L_MIN(minval, mininrow);
1312 l_int32 i, nstrips, extra;
1316 PROCNAME(
"makeMosaicStrips");
1319 return (
BOXA *)ERROR_PTR(
"invalid w or h", procName, NULL);
1321 return (
BOXA *)ERROR_PTR(
"invalid direction", procName, NULL);
1323 return (
BOXA *)ERROR_PTR(
"size < 1", procName, NULL);
1328 for (i = 0; i < nstrips; i++) {
1332 if ((extra = w % size) > 0) {
1333 box =
boxCreate(nstrips * size, 0, extra, h);
1338 for (i = 0; i < nstrips; i++) {
1342 if ((extra = h % size) > 0) {
1343 box =
boxCreate(0, nstrips * size, w, extra);
1391 l_float32 *pdiffarea,
1392 l_float32 *pdiffxor,
1395 l_int32 w, h, x3, y3, w3, h3, x4, y4, w4, h4, n3, n4, area1, area2;
1396 l_int32 count3, count4, countxor;
1399 BOXA *boxa3, *boxa4, *boxa3t, *boxa4t;
1400 PIX *pix1, *pix2, *pix3, *pix4, *pix5;
1403 PROCNAME(
"boxaCompareRegions");
1405 if (pdiffxor) *pdiffxor = 1.0;
1406 if (ppixdb) *ppixdb = NULL;
1407 if (pnsame) *pnsame = FALSE;
1408 if (pdiffarea) *pdiffarea = 1.0;
1409 if (!boxa1 || !boxa2)
1410 return ERROR_INT(
"boxa1 and boxa2 not both defined", procName, 1);
1412 return ERROR_INT(
"&nsame not defined", procName, 1);
1414 return ERROR_INT(
"&diffarea not defined", procName, 1);
1424 if (n3 == 0 || n4 == 0) {
1427 if (n3 == 0 && n4 == 0) {
1431 if (pdiffxor) *pdiffxor = 0.0;
1439 *pdiffarea = (l_float32)L_ABS(area1 - area2) / (l_float32)(area1 + area2);
1456 w = L_MAX(x3 + w3, x4 + w4);
1457 h = L_MAX(y3 + h3, y4 + h4);
1465 pix5 =
pixXor(NULL, pix3, pix4);
1468 *pdiffxor = (l_float32)countxor / (l_float32)(count3 + count4);
1482 pixAnd(pix3, pix3, pix4);
1534 l_int32 connectivity)
1539 PROCNAME(
"pixSelectLargeULComp");
1542 return (
BOX *)ERROR_PTR(
"pixs not defined", procName, NULL);
1543 if (areaslop < 0.0 || areaslop > 1.0)
1544 return (
BOX *)ERROR_PTR(
"invalid value for areaslop", procName, NULL);
1545 yslop = L_MAX(0, yslop);
1576 l_int32 w, h, i, n, x1, y1, x2, y2, select;
1577 l_float32 area, max_area;
1579 BOXA *boxa1, *boxa2, *boxa3;
1581 PROCNAME(
"boxaSelectLargeULBox");
1584 return (
BOX *)ERROR_PTR(
"boxas not defined", procName, NULL);
1586 return (
BOX *)ERROR_PTR(
"no boxes in boxas", procName, NULL);
1587 if (areaslop < 0.0 || areaslop > 1.0)
1588 return (
BOX *)ERROR_PTR(
"invalid value for areaslop", procName, NULL);
1589 yslop = L_MAX(0, yslop);
1595 max_area = (l_float32)(w * h);
1599 for (i = 0; i < n; i++) {
1601 area = (l_float32)(w * h);
1602 if (area / max_area >= areaslop) {
1613 for (i = 1; i < n; i++) {
1615 if (y2 - y1 < yslop && x2 < x1) {
BOXA * pixSplitComponentIntoBoxa(PIX *pix, BOX *box, l_int32 minsum, l_int32 skipdist, l_int32 delta, l_int32 maxbg, l_int32 maxcomps, l_int32 remainder)
pixSplitComponentIntoBoxa()
BOX * boxaSelectLargeULBox(BOXA *boxas, l_float32 areaslop, l_int32 yslop)
boxaSelectLargeULBox()
PIX * boxaaDisplay(PIX *pixs, BOXAA *baa, l_int32 linewba, l_int32 linewb, l_uint32 colorba, l_uint32 colorb, l_int32 w, l_int32 h)
boxaaDisplay()
BOXA * makeMosaicStrips(l_int32 w, l_int32 h, l_int32 direction, l_int32 size)
makeMosaicStrips()
l_int32 pixRenderHashBoxaBlend(PIX *pix, BOXA *boxa, l_int32 spacing, l_int32 width, l_int32 orient, l_int32 outline, l_int32 rval, l_int32 gval, l_int32 bval, l_float32 fract)
pixRenderHashBoxaBlend()
l_int32 numaAddNumber(NUMA *na, l_float32 val)
numaAddNumber()
NUMA * numaGetSortIndex(NUMA *na, l_int32 sortorder)
numaGetSortIndex()
BOXA * boxaSort(BOXA *boxas, l_int32 sorttype, l_int32 sortorder, NUMA **pnaindex)
boxaSort()
PTAA * generatePtaaBoxa(BOXA *boxa)
generatePtaaBoxa()
l_int32 pixClearInRect(PIX *pix, BOX *box)
pixClearInRect()
PIX * pixConvertTo32(PIX *pixs)
pixConvertTo32()
l_int32 boxaWriteStream(FILE *fp, BOXA *boxa)
boxaWriteStream()
l_int32 boxaaGetExtent(BOXAA *baa, l_int32 *pw, l_int32 *ph, BOX **pbox, BOXA **pboxa)
boxaaGetExtent()
PIXA * pixaCreate(l_int32 n)
pixaCreate()
l_int32 boxaaGetCount(BOXAA *baa)
boxaaGetCount()
PIX * pixConvertTo8(PIX *pixs, l_int32 cmapflag)
pixConvertTo8()
void ** pixGetLinePtrs(PIX *pix, l_int32 *psize)
pixGetLinePtrs()
l_int32 boxaAddBox(BOXA *boxa, BOX *box, l_int32 copyflag)
boxaAddBox()
PIX * pixCreate(l_int32 width, l_int32 height, l_int32 depth)
pixCreate()
l_int32 pixcmapAddNewColor(PIXCMAP *cmap, l_int32 rval, l_int32 gval, l_int32 bval, l_int32 *pindex)
pixcmapAddNewColor()
void pixcmapDestroy(PIXCMAP **pcmap)
pixcmapDestroy()
NUMA * numaCreate(l_int32 n)
numaCreate()
void boxaDestroy(BOXA **pboxa)
boxaDestroy()
l_int32 boxPrintStreamInfo(FILE *fp, BOX *box)
boxPrintStreamInfo()
l_int32 pixRenderBoxaArb(PIX *pix, BOXA *boxa, l_int32 width, l_uint8 rval, l_uint8 gval, l_uint8 bval)
pixRenderBoxaArb()
l_int32 pixcmapGetColor(PIXCMAP *cmap, l_int32 index, l_int32 *prval, l_int32 *pgval, l_int32 *pbval)
pixcmapGetColor()
BOX * boxTransform(BOX *box, l_int32 shiftx, l_int32 shifty, l_float32 scalex, l_float32 scaley)
boxTransform()
l_int32 boxaJoin(BOXA *boxad, BOXA *boxas, l_int32 istart, l_int32 iend)
boxaJoin()
l_int32 boxaGetBoxGeometry(BOXA *boxa, l_int32 index, l_int32 *px, l_int32 *py, l_int32 *pw, l_int32 *ph)
boxaGetBoxGeometry()
static l_int32 pixSearchForRectangle(PIX *pixs, BOX *boxs, l_int32 minsum, l_int32 skipdist, l_int32 delta, l_int32 maxbg, l_int32 sideflag, BOXA *boxat, NUMA *nascore)
pixSearchForRectangle()
l_int32 pixcmapAddBlackOrWhite(PIXCMAP *cmap, l_int32 color, l_int32 *pindex)
pixcmapAddBlackOrWhite()
#define GET_DATA_BIT(pdata, n)
l_int32 pixClipBoxToForeground(PIX *pixs, BOX *boxs, PIX **ppixd, BOX **pboxd)
pixClipBoxToForeground()
PIX * pixCreateTemplate(PIX *pixs)
pixCreateTemplate()
PIX * pixDrawBoxaRandom(PIX *pixs, BOXA *boxa, l_int32 width)
pixDrawBoxaRandom()
l_int32 pixRenderBoxArb(PIX *pix, BOX *box, l_int32 width, l_uint8 rval, l_uint8 gval, l_uint8 bval)
pixRenderBoxArb()
PIX * pixPaintBoxaRandom(PIX *pixs, BOXA *boxa)
pixPaintBoxaRandom()
PIXCMAP * pixcmapCreate(l_int32 depth)
pixcmapCreate()
l_int32 pixRasterop(PIX *pixd, l_int32 dx, l_int32 dy, l_int32 dw, l_int32 dh, l_int32 op, PIX *pixs, l_int32 sx, l_int32 sy)
pixRasterop()
PIXA * pixaDisplayBoxaa(PIXA *pixas, BOXAA *baa, l_int32 colorflag, l_int32 width)
pixaDisplayBoxaa()
BOXA * pixConnComp(PIX *pixs, PIXA **ppixa, l_int32 connectivity)
pixConnComp()
BOX * pixSelectLargeULComp(PIX *pixs, l_float32 areaslop, l_int32 yslop, l_int32 connectivity)
pixSelectLargeULComp()
static const l_int32 L_INSERT
l_int32 pixcmapAddColor(PIXCMAP *cmap, l_int32 rval, l_int32 gval, l_int32 bval)
pixcmapAddColor()
PIX * pixXor(PIX *pixd, PIX *pixs1, PIX *pixs2)
pixXor()
BOXA * boxaTransform(BOXA *boxas, l_int32 shiftx, l_int32 shifty, l_float32 scalex, l_float32 scaley)
boxaTransform()
PIX * pixBlendBoxaRandom(PIX *pixs, BOXA *boxa, l_float32 fract)
pixBlendBoxaRandom()
l_int32 boxaGetArea(BOXA *boxa, l_int32 *parea)
boxaGetArea()
l_int32 boxaCompareRegions(BOXA *boxa1, BOXA *boxa2, l_int32 areathresh, l_int32 *pnsame, l_float32 *pdiffarea, l_float32 *pdiffxor, PIX **ppixdb)
boxaCompareRegions()
l_int32 pixaAddPix(PIXA *pixa, PIX *pix, l_int32 copyflag)
pixaAddPix()
BOXA * pixConnCompBB(PIX *pixs, l_int32 connectivity)
pixConnCompBB()
PIX * pixAnd(PIX *pixd, PIX *pixs1, PIX *pixs2)
pixAnd()
PIX * pixaDisplayTiledInRows(PIXA *pixa, l_int32 outdepth, l_int32 maxwidth, l_float32 scalefactor, l_int32 background, l_int32 spacing, l_int32 border)
pixaDisplayTiledInRows()
void ptaaDestroy(PTAA **pptaa)
ptaaDestroy()
l_int32 * makePixelSumTab8(void)
makePixelSumTab8()
l_int32 pixSetColormap(PIX *pix, PIXCMAP *colormap)
pixSetColormap()
l_int32 boxGetGeometry(BOX *box, l_int32 *px, l_int32 *py, l_int32 *pw, l_int32 *ph)
boxGetGeometry()
BOXA * boxaSelectByArea(BOXA *boxas, l_int32 area, l_int32 relation, l_int32 *pchanged)
boxaSelectByArea()
void pixDestroy(PIX **ppix)
pixDestroy()
PIX * pixMaskBoxa(PIX *pixd, PIX *pixs, BOXA *boxa, l_int32 op)
pixMaskBoxa()
BOX * boxaGetBox(BOXA *boxa, l_int32 index, l_int32 accessflag)
boxaGetBox()
PIX * pixRenderRandomCmapPtaa(PIX *pix, PTAA *ptaa, l_int32 polyflag, l_int32 width, l_int32 closeflag)
pixRenderRandomCmapPtaa()
l_int32 pixPaintThroughMask(PIX *pixd, PIX *pixm, l_int32 x, l_int32 y, l_uint32 val)
pixPaintThroughMask()
PIX * pixDrawBoxa(PIX *pixs, BOXA *boxa, l_int32 width, l_uint32 val)
pixDrawBoxa()
void numaDestroy(NUMA **pna)
numaDestroy()
BOXA * pixSplitIntoBoxa(PIX *pixs, l_int32 minsum, l_int32 skipdist, l_int32 delta, l_int32 maxbg, l_int32 maxcomps, l_int32 remainder)
pixSplitIntoBoxa()
l_int32 pixSetInRect(PIX *pix, BOX *box)
pixSetInRect()
PIX * pixPaintBoxa(PIX *pixs, BOXA *boxa, l_uint32 val)
pixPaintBoxa()
PIX * pixMaskConnComp(PIX *pixs, l_int32 connectivity, BOXA **pboxa)
pixMaskConnComp()
PIX * pixaGetPix(PIXA *pixa, l_int32 index, l_int32 accesstype)
pixaGetPix()
l_int32 composeRGBPixel(l_int32 rval, l_int32 gval, l_int32 bval, l_uint32 *ppixel)
composeRGBPixel()
l_int32 pixcmapGetCount(PIXCMAP *cmap)
pixcmapGetCount()
BOXA * boxaCreate(l_int32 n)
boxaCreate()
PIX * pixCopy(PIX *pixd, PIX *pixs)
pixCopy()
void boxDestroy(BOX **pbox)
boxDestroy()
l_int32 boxaGetExtent(BOXA *boxa, l_int32 *pw, l_int32 *ph, BOX **pbox)
boxaGetExtent()
PIX * pixConvert1To8(PIX *pixd, PIX *pixs, l_uint8 val0, l_uint8 val1)
pixConvert1To8()
l_int32 boxaGetCount(BOXA *boxa)
boxaGetCount()
l_int32 numaGetIValue(NUMA *na, l_int32 index, l_int32 *pival)
numaGetIValue()
l_int32 pixSetAll(PIX *pix)
pixSetAll()
l_int32 pixGetDimensions(PIX *pix, l_int32 *pw, l_int32 *ph, l_int32 *pd)
pixGetDimensions()
l_int32 pixSetInRectArbitrary(PIX *pix, BOX *box, l_uint32 val)
pixSetInRectArbitrary()
l_int32 pixCountPixels(PIX *pixs, l_int32 *pcount, l_int32 *tab8)
pixCountPixels()
void pixaDestroy(PIXA **ppixa)
pixaDestroy()
void extractRGBValues(l_uint32 pixel, l_int32 *prval, l_int32 *pgval, l_int32 *pbval)
extractRGBValues()
BOX * boxCreate(l_int32 x, l_int32 y, l_int32 w, l_int32 h)
boxCreate()
l_int32 pixaGetCount(PIXA *pixa)
pixaGetCount()
l_int32 pixBlendInRect(PIX *pixs, BOX *box, l_uint32 val, l_float32 fract)
pixBlendInRect()
PIX * pixSetBlackOrWhiteBoxa(PIX *pixs, BOXA *boxa, l_int32 op)
pixSetBlackOrWhiteBoxa()
BOXA * boxaaGetBoxa(BOXAA *baa, l_int32 index, l_int32 accessflag)
boxaaGetBoxa()
PIXCMAP * pixcmapCreateRandom(l_int32 depth, l_int32 hasblack, l_int32 haswhite)
pixcmapCreateRandom()