[..] La fonction [scl] img_str_tssscl
Code
int img_str_tss_xpl(){
scltracefa(§, ƒ, ∅);
scltracefc("scl-%s (%s) : %s\n\n", sclver(), sclsec(), temps_char(0));
int mode=6; // "single uniform block of text"
int left=1740, top=1360;
int width=4380-left, height=1990-top;
int marge = height*20/100;
left-=marge; top-=marge; width+=2*marge; height+=2*marge;
img_str_tss_xpl("./don/img/cathodig_sigwal.jpg",
"fra", mode, left, top, width, height);
//---------------------------------------------------------------------
left=148; top=647-515;
width=1019-left; height=515-310;
marge = height*20/100;
left-=marge; top-=marge; width+=2*marge; height+=2*marge;
img_str_tss_xpl("./don/img/yoran_sigwal.jpg",
"fra", mode, left, top, width, height);
scltracefe(§, ƒ, ∅);
return 0;
}
/* ƒ décorée par le 05-04-2024 23:38:30 */
int img_str_tss_xpl(const char *filepath, const char *language, int mode,
int left, int top, int width, int height){
scltracefa(§, ƒ, ∅);
int ierr=-1, ichk;
char **repnom=frepnom(filepath), *imgid=repnom[2];
int imgi=-1, widthn, heightn;
// Chargement de l'image
ichk = chargimage_lpt(filepath, &imgi, &widthn, &heightn);
if(ichk<0){
scltracerr(§, ƒ, ∅,
"erreur chargimage_lpt()!\n");
scltracefe(§, ƒ, ∅);
return ierr;
} ierr--;
// Information sur l'image
finfo_lpt(imgi);
//---------------------------------------------------------------------
// Constitution du signal couleur
int r, v, b;
double dr, dv, db;
int coln=widthn, coli, rown=heightn, rowi;
double **sr=newmat<double>(coln, rown);
double **sji=newmat<double>(coln, rown),
**sjj=newmat<double>(coln, rown),
**sjk=newmat<double>(coln, rown);
for(rowi=0;rowi<rown;rowi++){
for(coli=0;coli<coln;coli++){
ichk = recoirvb_lpt(imgi, coli, rowi, &r, &v, &b);
if(ichk<0){
scltracerr(§, ƒ, ∅,
"erreur recoirvb_lpt()\n");
scltracefe(§, ƒ, ∅);
return ierr;
}
dr=(double)r; dv=(double)v; db=(double)b;
// Partie reelle grise
sr[coli][rown-1-rowi]=√(dr*dr + dv*dv + db*db);
// Parties imaginaires
sji[coli][rown-1-rowi]=dr;
sjj[coli][rown-1-rowi]=dv;
sjk[coli][rown-1-rowi]=db;
}
} ierr=ierr-1; // 1 erreur dans la boucle
//---------------------------------------------------------------------
double axa=(double)left, axe=(double)(left+width);
double aya=(double)(heightn-top-height), aye=(double)(heightn-top);
scl::string_c imgname=scl::string_c(imgid)+"_"+num_str<double>(axa)+"-"+
num_str<double>(axe)+"_"+num_str<double>(aya)+"-"+
num_str<double>(aye)+".pdf";
scl::string_c imgpath="./srt/"+imgname;
int chan=4, chai=0;
int nyl = (int)round(1400.0/((double)chan));
grafmat_dis(imgpath.c_str(), coln, rown, sr,
"yaxislength", nyl*92/100,
"yaxisposition", 1799-(chan-1-chai)*nyl,
"colormap", "grey", "ylabel", "",
"titlex", "", "linespeca", "-a",
"subtitlex", imgname.c_str(),
"axmin", axa, "axmax", axe, "aymin", aya, "aymax", aye,
/*"axis", "equal",*/
"append", "on", ∅);
chai++;
grafmat_dis(imgpath.c_str(), coln, rown, sji,
"yaxislength", nyl*92/100,
"yaxisposition", 1799-(chan-1-chai)*nyl,
"colormap", "rouge", "ylabel", "",
"titlex", "", "subtitlex", "", "linespeca", "-a",
"axmin", axa, "axmax", axe, "aymin", aya, "aymax", aye,
/*"axis", "equal",*/
"append", "on", ∅);
chai++;
grafmat_dis(imgpath.c_str(), coln, rown, sjj,
"yaxislength", nyl*92/100,
"yaxisposition", 1799-(chan-1-chai)*nyl,
"colormap", "vert", "ylabel", "",
"titlex", "", "subtitlex", "", "linespeca", "-a",
"axmin", axa, "axmax", axe, "aymin", aya, "aymax", aye,
/*"axis", "equal",*/
"append", "on", ∅);
chai++;
grafmat_dis(imgpath.c_str(), coln, rown, sjk,
"yaxislength", nyl*92/100,
"yaxisposition", 1799-(chan-1-chai)*nyl,
"colormap", "bleu", "ylabel", "",
"titlex", "", "subtitlex", "", "linespeca", "-a",
"xlabel", "",
"axmin", axa, "axmax", axe, "aymin", aya, "aymax", aye,
/*"axis", "equal",*/
/*"append", "off",*/ ∅);
//---------------------------------------------------------------------
//[>OCR]
//---------------------------------------------------------------------
// Reconnaissance de caracteres
char *text=img_str_tss(imgi, language, mode, left, top, width, height);
scltracefc("text=%s\n", text);
//---------------------------------------------------------------------
//[<OCR]
//---------------------------------------------------------------------
//---------------------------------------------------------------------
//[>LIBR MEMOIRE]
//---------------------------------------------------------------------
librimage_lpt(imgi);
imgpath.clear(); imgname.clear();
deletemat<double>(coln, &sjk);
deletemat<double>(coln, &sjj); deletemat<double>(coln, &sji);
deletemat<double>(coln, &sr);
//---------------------------------------------------------------------
//[<LIBR MEMOIRE]
//---------------------------------------------------------------------
scltracefe(§, ƒ, ∅);
return 0;
}
/* ƒ décorée par le 05-04-2024 23:38:30 */
Sortie
[>..\xpl\src\sclocr.tss.xpl.cpp.img_str_tss_xpl]
scl-24.04 (gwin64) : 05-04-2024 23:38:30
[>..\xpl\src\sclocr.tss.xpl.cpp.img_str_tss_xpl]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[>IMAGE FILE INFORMATIONS]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
filepath: './don/img/cathodig_sigwal.jpg'
- image id : 0
- width : 5184
- height : 3456
- depth : 32
- samples per pixel : 3
- words per line : 5184
- refcount : 1
- xres : 0
- yres : 0
- input format : 2
- special : 0
- text : '(null)'
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[<IMAGE FILE INFORMATIONS]
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<< END OF DISLIN / VERSION 11.3.2 <<
<< Date : 05.04.2024 Time : 23:38:49 Pageformat: DA4L <<
<< Vectors : 249 Warnings: 0 Fileformat: PDF <<
<< Metafile: ./srt/cathodig_sigwal_1614-4506_1340-2222.pdf <<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
text=SIGW AL
[<..\xpl\src\sclocr.tss.xpl.cpp.img_str_tss_xpl]
[>..\xpl\src\sclocr.tss.xpl.cpp.img_str_tss_xpl]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[>IMAGE FILE INFORMATIONS]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
filepath: './don/img/yoran_sigwal.jpg'
- image id : 1
- width : 1166
- height : 647
- depth : 32
- samples per pixel : 3
- words per line : 1166
- refcount : 1
- xres : 72
- yres : 72
- input format : 2
- special : 0
- text : '(null)'
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[<IMAGE FILE INFORMATIONS]
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<< END OF DISLIN / VERSION 11.3.2 <<
<< Date : 05.04.2024 Time : 23:38:52 Pageformat: DA4L <<
<< Vectors : 276 Warnings: 0 Fileformat: PDF <<
<< Metafile: ./srt/yoran_sigwal_107-1060_269-556.pdf <<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
text=Diqual
[<..\xpl\src\sclocr.tss.xpl.cpp.img_str_tss_xpl]
[<..\xpl\src\sclocr.tss.xpl.cpp.img_str_tss_xpl]