B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 6|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

AIWROKÈí¼þ°²×¿×ܽáͼÏñÊÓ¾õ´¦Àí[opencv]·½·¨

[¸´ÖÆÁ´½Ó]

967

Ö÷Ìâ

972

Ìû×Ó

7145

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7145
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
AIWROKÈí¼þ°²×¿×ܽáͼÏñÊÓ¾õ´¦Àí[opencv]·½·¨
AIWROKÈí¼þ°²×¿×ܽáͼÏñÊÓ¾õ´¦Àí[opencv]·½·¨ B2BÍøÂçÈí¼þ

AIWROKÈí¼þ°²×¿×ܽáͼÏñÊÓ¾õ´¦Àí[opencv]·½·¨ B2BÍøÂçÈí¼þ

AIWROKÈí¼þ°²×¿×ܽáͼÏñÊÓ¾õ´¦Àí[opencv]·½·¨ B2BÍøÂçÈí¼þ

·½·¨1£ºgetcolorNum£º»ñÈ¡ÇøÓòÑÕÉ«ÊýÁ¿  [size=1em]
Àà±ð[size=1em]


ÄÚÈÝ[size=1em]


¹¦ÄÜ˵Ã÷[size=1em]


´ÓͼÏñÖбéÀú²éÕÒËùÓеÄ×ø±êºÍ¶ÔÓ¦µÄÑÕÉ«ÊÇ·ñ·ûºÏ²¢·µ»ØÕÒµ½ÑÕÉ«µÄÊýÁ¿[size=1em]


º¯Êý¶¨Òå[size=1em]


int getcolorNum(Mat arg0, String[] arg1, double arg2, double[] arg3)[size=1em]


·µ»ØÖµ[size=1em]


int[size=1em]


²ÎÊý[size=1em]


-Mat arg0: mat ¸ñʽͼƬ-String[] arg1: ÑÕÉ«Êý×飬ʾÀý['10,9,#123233','9,9,#434323']-double arg2: ÏàËÆ¶È-double[] arg3: ÇøÓò±ÈÀý£¬Ê¾Àý[0,0,1,1][size=1em]


°¸Àý[size=1em]


var mat=screen.screenShot(432,768,100).getMat(); var num=opencv.getcolorNum(mat,['#AE5454','#AE5454'],0.90,[0.0799,0.3008,0.9167,0.8242]); printl(num) [size=1em]


·½·¨2£ºgradientProcessing£º¼ÆËãÌݶȠ [size=1em]
Àà±ð[size=1em]


ÄÚÈÝ[size=1em]


¹¦ÄÜ˵Ã÷[size=1em]


¼ÆËãÌݶÈ[size=1em]


º¯Êý¶¨Òå[size=1em]


Mat gradientProcessing(Mat arg0)[size=1em]


·µ»ØÖµ[size=1em]


Mat[size=1em]


²ÎÊý[size=1em]


Mat arg0[size=1em]
£ºÊäÈëµÄ mat ¸ñʽͼƬ[size=1em]


°¸Àý[size=1em]


// Ìݶȴ¦ÀíʾÀýº¯Êýfunction gradientProcessingExample() {printl("¿ªÊ¼Ö´ÐÐÌݶȴ¦ÀíʾÀý");// 1. ½ØÈ¡ÆÁÄ»ÇøÓò²¢×ª»»ÎªMat¸ñʽ// ʹÓÃ432x768·Ö±æÂÊ£¬100ÖÊÁ¿µÄ½ØÍ¼var mat = screen.screenShot(432, 768, 100).getMat();// ÑéÖ¤Mat¶ÔÏóÊÇ·ñ³É¹¦´´½¨printl("½ØÍ¼³É¹¦£¬Mat³ß´ç: " + mat.width() + "x" + mat.height());// 2. µ÷ÓÃgradientProcessing·½·¨¼ÆËãÌݶÈ// ¸ù¾ÝAPIÎĵµ£¬¸Ã·½·¨½ÓÊÕÒ»¸öMat²ÎÊý²¢·µ»Ø´¦ÀíºóµÄMatvar gradientMat = null;// Ö´ÐÐÌݶȴ¦ÀígradientMat = opencv.gradientProcessing(mat);// Êä³ö´¦Àí½á¹ûprintl("Ìݶȴ¦ÀíÍê³É");printl("ÌݶÈͼÏñ³ß´ç: " + gradientMat.width() + "x" + gradientMat.height());// ÊÍ·ÅԭʼͼÏñ×ÊÔ´mat = null;// 3. ´¦Àí½á¹ûÊä³ö// Êä³öÌݶÈͼÏñÐÅÏ¢printl("ÌݶÈͼÏñÀàÐÍ: " + gradientMat.type());// ÊÍ·ÅÌݶÈͼÏñ×ÊÔ´gradientMat = null;printl("Ìݶȴ¦ÀíʾÀýÖ´ÐÐÍê±Ï");}// Ö÷º¯Êý£ºÔËÐÐʾÀýfunction main() {printl("=== Ìݶȴ¦Àí¹¦ÄÜʾÀý ===");// Ö´ÐÐÌݶȴ¦ÀíʾÀýgradientProcessingExample();printl("=== ʾÀýÖ´ÐÐÍê±Ï ===");}// Á¢¼´Ö´ÐÐÖ÷º¯Êýmain();  [size=1em]


·½·¨3£ºinvertColor£ºÑÕÉ«·­×ª  [size=1em]
Àà±ð[size=1em]


ÄÚÈÝ[size=1em]


¹¦ÄÜ˵Ã÷[size=1em]


ÑÕÉ«·­×ª[size=1em]


º¯Êý¶¨Òå[size=1em]


Mat invertColor(Mat arg0)[size=1em]


·µ»ØÖµ[size=1em]


Mat[size=1em]


²ÎÊý[size=1em]


Mat arg0[size=1em]
£ºÊäÈëµÄ mat ¸ñʽͼƬ[size=1em]


°¸Àý[size=1em]


let mat:Mat=ͼɫ973264();printl(mat);function ͼɫ973264(){//½ØÆÁ²¢×ª³Émat¸ñʽvar mat=screen.screenShot(900,1600,100).getMat();//ÑÕÉ«·­×ªopencv.invertColor(mat)return mat;}  [size=1em]


·½·¨4£ºopenImg£º¿ªÔËËã  [size=1em]
Àà±ð[size=1em]


ÄÚÈÝ[size=1em]


¹¦ÄÜ˵Ã÷[size=1em]


¿ªÔËËã[size=1em]


º¯Êý¶¨Òå[size=1em]


Mat openImg(Mat arg0, int arg1)[size=1em]


·µ»ØÖµ[size=1em]


Mat[size=1em]


²ÎÊý[size=1em]


- Mat arg0[size=1em]
£ºÊäÈëͼƬ- int arg1[size=1em]
£ººË´óС[size=1em]


°¸Àý[size=1em]


// ¿ªÔËË㹦ÄÜʾÀý// ¸ÃʾÀýÑÝʾÈçºÎʹÓÃOpenCVµÄopenImgº¯Êý½øÐÐͼÏñ¿ªÔËËã²Ù×÷/** * ¿ªÔËË㺯Êý * ¹¦ÄÜ£ºÖ´ÐÐͼÏñ¿ªÔËËã²Ù×÷£¨Ïȸ¯Ê´ºóÅòÕÍ£© * ²ÎÊý˵Ã÷£º *   - Mat arg0: ÊäÈëͼÏñ¾ØÕó *   - int arg1: ºË´óС£¨½á¹¹ÔªËØ´óС£©- ×¢Ò⣺ºË´óС²»ÄÜΪ0 * ·µ»ØÖµ£º¿ªÔËËã´¦ÀíºóµÄMatͼÏñ *  * ¿ªÔËËãÔ­Àí£º * ¿ªÔËËã = ¸¯Ê´ + ÅòÕÍ * Ö÷ÒªÓÃÓÚ£º * 1. È¥³ýСµÄÔëµãºÍСÎïÌå * 2. ·ÖÀëÎïÌå * 3. ƽ»¬±ß½ç * 4. ±£ÁôÎïÌåµÄÕûÌåÐÎ×´ºÍ´óС */// ʾÀý1£º»ù±¾¿ªÔËËãʾÀý - ¾­¹ý²âÊÔ¿ÉÕý³£¹¤×÷function basicOpenImgExample() {printl("¿ªÊ¼»ù±¾¿ªÔËËãʾÀý");try {// ½ØÈ¡ÆÁĻͼÏñ²¢×ª»»ÎªMat¸ñʽvar mat = screen.screenShot(432, 768, 100).getMat();printl("½ØÆÁ³É¹¦£¬Ô­Ê¼Í¼Ïñ³ß´ç: " + mat.width() + "x" + mat.height());// µ÷ÓÿªÔËË㺯Êý£¬ºË´óСΪ3£¨ÓÐЧ²ÎÊý£©var openedMat = opencv.openImg(mat, 3);printl("¿ªÔËËãÍê³É£¬ºË´óС: 3");// Êä³ö½á¹ûÐÅÏ¢printl("¿ªÔËËã½á¹ûMat³ß´ç: " + openedMat.width() + "x" + openedMat.height());printl(openedMat);// ÊÍ·Å×ÊÔ´mat = null;if (openedMat != null) {openedMat = null;}printl("»ù±¾¿ªÔËËãʾÀýÍê³É");returntrue;} catch (e) {printl("Ö´ÐпªÔËËãʱ·¢Éú´íÎó: " + String(e));returnfalse;}}// ʾÀý2£º¼ò»¯µÄºË´óС¶Ô±ÈʾÀý£¨±ÜÃâʹÓú˴óС0£©function simpleKernelCompareExample() {printl("¿ªÊ¼¼ò»¯µÄºË´óС¶Ô±ÈʾÀý");try {// 1. »ñÈ¡ÆÁĻͼÏñvar originalMat = screen.screenShot(432, 768, 100).getMat();printl("ԭʼͼÏñ³ß´ç: " + originalMat.width() + "x" + originalMat.height());// 2. ʹÓÃÓÐЧºË´óС½øÐпªÔËË㣨±ÜÃâʹÓÃ0£©var kernelSizes = [1, 3, 5];for (var i = 0; i < kernelSizes.length; i++) {var kernelSize = kernelSizes;printl("ÕýÔÚ²âÊԺ˴óС: " + kernelSize);try {var openedMat = opencv.openImg(originalMat, kernelSize);printl("ºË´óС " + kernelSize + " µÄ¿ªÔËËãÍê³É");printl(openedMat);// ÊÍ·Å×ÊÔ´openedMat = null;} catch (e) {printl("ºË´óС " + kernelSize + " ´¦Àíʧ°Ü: " + String(e));}}// ÊÍ·Å×ÊÔ´originalMat = null;printl("¼ò»¯µÄºË´óС¶Ô±ÈʾÀýÍê³É");returntrue;} catch (e) {printl("Ö´ÐпªÔËËã¶Ô±Èʱ·¢Éú´íÎó: " + String(e));returnfalse;}}// ·â×°º¯ÊýʽʾÀý£¨¼ò½à°æ£©- ÐÞ¸´°æfunction ¿ªÔËËã´¦Àí(mat, kernelSize) {// ÑéÖ¤²ÎÊýÓÐЧÐÔif (kernelSize <= 0) {printl("¾¯¸æ£ººË´óС±ØÐë´óÓÚ0£¬ÒÑ×Ô¶¯µ÷ÕûΪ1");kernelSize = 1;}// Ö´ÐпªÔËËãreturn opencv.openImg(mat, kernelSize);}// ʹÓ÷â×°º¯ÊýµÄʾÀý - ÐÞ¸´°æfunction encapsulatedOpenImgExample() {printl("¿ªÊ¼Ê¹Ó÷â×°º¯ÊýµÄ¿ªÔËËãʾÀý");try {// »ñȡͼÏñvar mat = screen.screenShot(432, 768, 100).getMat();// ʹÓÃÓÐЧºË´óС3´úÌæ0var resultMat = ¿ªÔËËã´¦Àí(mat, 3);printl("·â×°º¯Êý¿ªÔËËã½á¹û:");printl(resultMat);// ÊÍ·Å×ÊÔ´mat = null;resultMat = null;printl("·â×°º¯Êý¿ªÔËËãʾÀýÍê³É");returntrue;} catch (e) {printl("Ö´Ðзâ×°º¯Êý¿ªÔËËãʱ·¢Éú´íÎó: " + String(e));returnfalse;}}// Ö÷º¯Êý£ºÔËÐÐÓÐЧµÄ¿ªÔËËãʾÀýfunction runAllOpenImgExamples() {printl("\n===== ¿ªÊ¼ÔËÐпªÔËËãʾÀý =====\n");// ÔËÐлù±¾Ê¾ÀýbasicOpenImgExample();printl("\n------------------------------------\n");// ÔËÐмò»¯µÄºË´óС¶Ô±ÈʾÀýsimpleKernelCompareExample();printl("\n------------------------------------\n");// ÔËÐÐÐÞ¸´ºóµÄ·â×°º¯ÊýʾÀýencapsulatedOpenImgExample();printl("\n===== ¿ªÔËËãʾÀýÔËÐÐÍê³É =====\n");}// ÔËÐÐʾÀýrunAllOpenImgExamples();  [size=1em]


·½·¨5£ºremoveSmallObjects£ºÈ¥Ôӵ㠠[size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


È¥ÔÓµã[size=1em]


º¯ÊýÉùÃ÷[size=1em]


Mat removeSmallObjects(Mat arg0, double arg1)[size=1em]


·µ»ØÖµ[size=1em]


Mat[size=1em]


²ÎÊý 1[size=1em]


Mat arg0[size=1em]
: mat ͼƬ[size=1em]


²ÎÊý 2[size=1em]


double arg1[size=1em]
: Ãæ»ýСÓÚ£¨Ö¸¶¨Ãæ»ýãÐÖµ£¬Ãæ»ýСÓÚ¸ÃÖµµÄ¶ÔÏó»á±»ÒƳý£©[size=1em]


°¸Àý[size=1em]


// removeSmallObjectsº¯ÊýʵÓÃʾÀý - È¥Ôӵ㹦ÄÜ/**  * ʹÓÃremoveSmallObjectsº¯ÊýÈ¥³ýͼÏñÖеÄСÔӵ㠠* @returns ´¦ÀíºóµÄMat¶ÔÏó  */ function È¥³ýͼÏñÔÓµã() { // 1. »ñÈ¡ÆÁÄ»½ØÍ¼²¢×ª»»ÎªMat¶ÔÏó var mat = screen.screenShot(900, 1600, 100).getMat(); printl("ÒÑ»ñÈ¡ÆÁÄ»½ØÍ¼"); // 2. ½«²ÊɫͼÏñת»»Îª»Ò¶ÈͼÏñ // ¸ù¾Ý´íÎóÐÅÏ¢£¬removeSmallObjectsº¯ÊýÒªÇóÊäÈëͼÏñ±ØÐëÊÇCV_8UC1¸ñʽ(»Ò¶Èͼ) var grayMat = new Mat(); opencv.cvtColor(mat, grayMat, opencv.COLOR_BGR2GRAY); printl(grayMat); // 3. ʹÓÃremoveSmallObjectsº¯ÊýÈ¥³ýСÔÓµã // ²ÎÊý2ÉèÖÃΪ100£¬±íÊ¾ÒÆ³ýÃæ»ýСÓÚ100µÄ¶ÔÏó var resultMat = opencv.removeSmallObjects(grayMat, 100); printl(resultMat); // 4. ·µ»Ø´¦ÀíºóµÄͼÏñ return resultMat; } // Ö÷³ÌÐòµ÷ÓÃʾÀý function Ö÷³ÌÐò() { try { // µ÷ÓÃÈ¥Ôӵ㺯Êý var processedMat = È¥³ýͼÏñÔÓµã(); // ÏÔʾ´¦Àí½á¹û printl(processedMat); printl("Mat³ß´ç: " + processedMat.width() + "x" + processedMat.height()); // Èç¹ûÐèÒª±£´æ½á¹ûµ½Îļþ // opencv.imwrite("/sdcard/´¦ÀíºóͼÏñ.jpg", processedMat); return processedMat; } catch (e) { printl("´¦Àí¹ý³ÌÖгö´í: " + e); returnnull; } } // ÔËÐÐÖ÷³ÌÐò Ö÷³ÌÐò();  [size=1em]


·½·¨7£ºshapeSplit£º·Ö¸ôÌáÈ¡  [size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


ÏÈͨ¹ýÂ˾µ°ÑͼƬ´¦Àí³ÉºÚ°×ͼ£¬È»ºóÌáÈ¡ºÚɫͼÐΣ¨·Ö¸ôÌáÈ¡£©[size=1em]


º¯ÊýÉùÃ÷[size=1em]


detect[] shapeSplit(Mat arg0, int arg1, int arg2)[size=1em]


·µ»ØÖµ[size=1em]


detect[][size=1em]


²ÎÊý 1[size=1em]


Mat arg0[size=1em]
: mat ¸ñʽͼƬ[size=1em]


²ÎÊý 2[size=1em]


int arg1[size=1em]
: ½á¹ûÅÅÐò£¨0 Æðµã Y ×ø±êÅÅÐò£»1 Æðµã X ×ø±êÅÅÐò£»2 Ãæ»ýÅÅÐò£©[size=1em]


²ÎÊý 3[size=1em]


int arg2[size=1em]
: ÅÅÐò¹æÔò£¨0 ÕýÐò£»1 µ¹Ðò£©[size=1em]


°¸Àý[size=1em]


var result:detect[]=ͼɫ141387();if(result!=null){result[0].click();}else{print.err('²éÕÒͼɫ141387ʧ°Ü')}function ͼɫ141387(){//½ØÆÁ²¢×ª³Émat¸ñʽvar mat=screen.screenShot(900,1600,100).getMat();//·Ö¸ôÌáÈ¡return opencv.shapeSplit(mat,0,0)}  [size=1em]


·½·¨8£ºshapeSplitEx£ºcv Îļþ·Ö¸ôÌáÈ¡  [size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


cv Îļþ·Ö¸ôÌáÈ¡[size=1em]


º¯ÊýÉùÃ÷[size=1em]


detect[] shapeSplitEx(String arg0)[size=1em]


·µ»ØÖµ[size=1em]


detect[][size=1em]


²ÎÊý[size=1em]


String arg0[size=1em]
: cv ÎļþÃû[size=1em]


°¸Àý[size=1em]


//·µ»ØÄ¿±êÊý×é[size=1em]
var detects=opencv.shapeSplitEx('ͼɫ710035.cv');[size=1em]
if(detects!=null){[size=1em]
   printl(detects);[size=1em]
   detects[0].click();[size=1em]
}[size=1em]


[size=1em]
·½·¨9£ºtemplateMatch£ºÄ£°åÆ¥Åä  [size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


ͨ¹ý¶àÄ£°åÆ¥Å䶨λĿ±ê£¬·µ»ØÖµÊÇÒ»¸öÄ¿±êÊý×飨ģ°åÆ¥Å䣩[size=1em]


º¯ÊýÉùÃ÷[size=1em]


detect[] templateMatch(Mat arg0, String[] arg1, double arg2, double[] arg3, boolean arg4)[size=1em]


·µ»ØÖµ[size=1em]


detect[][size=1em]


²ÎÊý 1[size=1em]


Mat arg0[size=1em]
: ͼƬ[size=1em]


²ÎÊý 2[size=1em]


String[] arg1[size=1em]
: Ä£°åͼƬ base64 Êý×é[size=1em]


²ÎÊý 3[size=1em]


double arg2[size=1em]
: ÏàËÆ¶ÈãÐÖµ[size=1em]


²ÎÊý 4[size=1em]


double[] arg3[size=1em]
: °Ù·Ö±ÈÇøÓò[size=1em]


²ÎÊý 5[size=1em]


boolean arg4[size=1em]
: Ö»·µ»Ø×îÓÅÖµ[size=1em]


°¸Àý[size=1em]


printl('ͼɫ419496');[size=1em]
var detects = auto.findImages([64λͼ], 0.8, 5000, 1, [0,0,1,1]);[size=1em]
if(detects!=null){[size=1em]
   detects[0].click();[size=1em]
}[size=1em]


[size=1em]
·½·¨10£ºthreshold£º¶þÖµ»¯  [size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


ãÐÖµÇø¼äÄÚµÄת³ÉºÚÉ«£¬ãÐÖµÇø¼äÍâµÄת³É°×É«£¨¶þÖµ»¯£©[size=1em]


º¯ÊýÉùÃ÷[size=1em]


Mat threshold(Mat arg0, int arg1, int arg2)[size=1em]


·µ»ØÖµ[size=1em]


Mat[size=1em]


²ÎÊý 1[size=1em]


Mat arg0[size=1em]
: Òª´¦ÀíµÄͼƬ[size=1em]


²ÎÊý 2[size=1em]


int arg1[size=1em]
: ×îСãÐÖµ[size=1em]


²ÎÊý 3[size=1em]


int arg2[size=1em]
: ×î´óãÐÖµ[size=1em]


°¸Àý[size=1em]


let mat:Mat=ͼɫ718883();printl(mat);function ͼɫ718883(){//½ØÆÁ²¢×ª³Émat¸ñʽvar mat=screen.screenShot(900,1600,100).getMat();//¶þÖµ»¯opencv.threshold(mat,53,150);return mat;}  [size=1em]


[size=1em]
·½·¨11£ºtoGray£º×ª»Ò¶Èͼ  [size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


ת»Ò¶Èͼ[size=1em]


º¯ÊýÉùÃ÷[size=1em]


Mat toGray(Mat arg0)[size=1em]


·µ»ØÖµ[size=1em]


Mat[size=1em]


²ÎÊý[size=1em]


Mat arg0[size=1em]
: mat ¸ñʽͼÏñ[size=1em]


°¸Àý[size=1em]


[size=1em]
let mat:Mat=ͼɫ676235();[size=1em]
printl(mat);[size=1em]
[size=1em]
[size=1em]
[size=1em]
function ͼɫ676235(){[size=1em]
   //½ØÆÁ²¢×ª³Émat¸ñʽ[size=1em]
   var mat=screen.screenShot(900,1600,100).getMat();[size=1em]
[size=1em]
  //ת»Ò¶Èͼ[size=1em]
  opencv.toGray(mat);[size=1em]
  return mat;[size=1em]
[size=1em]
}[size=1em]


·½·¨12£ºtoHSV£º×ª HSV[size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


ת HSV[size=1em]


º¯ÊýÉùÃ÷[size=1em]


Mat toHSV(Mat arg0)[size=1em]


·µ»ØÖµ[size=1em]


Mat[size=1em]


²ÎÊý[size=1em]


Mat arg0[size=1em]
: mat ¸ñʽͼÏñ[size=1em]


°¸Àý[size=1em]


[size=1em]
let mat:Mat=ͼɫ136443();[size=1em]
printl(mat);[size=1em]
[size=1em]
[size=1em]
[size=1em]
function ͼɫ136443(){[size=1em]
   //½ØÆÁ²¢×ª³Émat¸ñʽ[size=1em]
   var mat=screen.screenShot(900,1600,100).getMat();[size=1em]
[size=1em]
  //HSVÑÕÉ«±ä»»[size=1em]
  opencv.HSV(mat,0,0,0)[size=1em]
  return mat;[size=1em]
[size=1em]
}[size=1em]


·½·¨13£ºmat.ToBase64()·½·¨[size=1em]
ÏîÄ¿[size=1em]


˵Ã÷[size=1em]


º¯Êý¹¦ÄÜ[size=1em]


ת base64 ×Ö·û´®[size=1em]


º¯ÊýÉùÃ÷[size=1em]


String ToBase64()[size=1em]


·µ»ØÖµ[size=1em]


String[size=1em]


²ÎÊý[size=1em]


ÎÞ[size=1em]


°¸Àý[size=1em]


/** * Mat¶ÔÏótoStringºÍToBase64·½·¨Ê¹ÓÃʾÀý * ÑÝʾÈçºÎʹÓÃMat¶ÔÏóµÄtoString()ºÍToBase64()·½·¨ */// Ö÷º¯Êýfunction main() {printl("=== Mat toStringºÍToBase64·½·¨Ê¾Àý ===");// »ñÈ¡ÆÁÄ»½ØÍ¼²¢×ª»»ÎªMat¶ÔÏóvar mat = screen.screenShot(900, 1600, 100).getMat();printl("ÒÑ»ñÈ¡Mat¶ÔÏ󣬳ߴç: " + mat.width() + "x" + mat.height());// ʹÓÃtoString()·½·¨»ñÈ¡×Ö·û´®±íʾvar strResult = mat.toString();printl("Mat¶ÔÏó×Ö·û´®±íʾ: " + strResult);// ʹÓÃToBase64()·½·¨»ñÈ¡Base64±àÂëvar base64Result = mat.ToBase64();printl("Mat¶ÔÏóBase64±àÂë: " + base64Result);// ÑéÖ¤½á¹ûÊÇ·ñÓÐЧprintl("³É¹¦»ñÈ¡Mat¶ÔÏóµÄ×Ö·û´®ºÍBase64±íʾ");printl("=== ʾÀýÖ´ÐÐÍê±Ï ===");}// ÔËÐÐÖ÷³ÌÐòmain();  [size=1em]


[size=1em]




  1. //&#127822;½»Á÷ QQ Ⱥ 711841924 Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
  2. //ÊÊÓñ¾ÎĵµES5ϵͳ°²×¿ JavaScriptÒýÇæRhino



  3. // ·½·¨1£º»ñÈ¡ÇøÓòÑÕÉ«ÊýÁ¿ (getcolorNum)
  4. /**
  5. * ¹¦ÄÜ£º´ÓͼÏñÖ¸¶¨ÇøÓòÖУ¬Í³¼Æ·ûºÏÄ¿±êÑÕÉ«£¨º¬ÏàËÆ¶È£©µÄÏñËØÊýÁ¿
  6. * ·µ»ØÖµ£ºint - Æ¥Åäµ½µÄÑÕÉ«ÊýÁ¿
  7. * ²ÎÊý£º
  8. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  9. *   arg1: String[] - Ä¿±êÑÕÉ«Êý×飨¸ñʽÈç['#AE5454', '10,9,#123233']£©
  10. *   arg2: double - ÑÕÉ«ÏàËÆ¶È£¨0.0~1.0£©
  11. *   arg3: double[] - ¼ì²âÇøÓò±ÈÀý£¨[×ó,ÉÏ,ÓÒ,ÏÂ]£¬·¶Î§0.0~1.0£©
  12. */
  13. function getColorCountDemo() {
  14.     var mat = screen.screenShot(432, 768, 100).getMat();
  15.     var matchNum = opencv.getcolorNum(mat, ['#AE5454', '#AE5454'], 0.90, [0.0799, 0.3008, 0.9167, 0.8242]);
  16.     printl("Æ¥ÅäÑÕÉ«ÊýÁ¿£º" + matchNum);
  17.     mat = null;
  18. }


  19. // ·½·¨2£º¼ÆËãÌÝ¶È (gradientProcessing)
  20. /**
  21. * ¹¦ÄÜ£º¼ÆËãͼÏñÌݶȣ¬Í»³ö±ßÔµÐÅÏ¢
  22. * ·µ»ØÖµ£ºMat - Ìݶȴ¦ÀíºóµÄͼÏñ
  23. * ²ÎÊý£ºarg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  24. */
  25. function gradientDemo() {
  26.     var mat = screen.screenShot(432, 768, 100).getMat();
  27.     var gradientMat = opencv.gradientProcessing(mat);
  28.     printl("ÌݶÈͼÏñ³ß´ç£º" + gradientMat.width() + "x" + gradientMat.height());
  29.     mat = null;
  30.     gradientMat = null;
  31. }


  32. // ·½·¨3£ºÑÕÉ«·­×ª (invertColor)
  33. /**
  34. * ¹¦ÄÜ£º·­×ªÍ¼ÏñÏñËØÑÕÉ«£¨ÀàËÆµ×ƬЧ¹û£©
  35. * ·µ»ØÖµ£ºMat - ÑÕÉ«·­×ªºóµÄͼÏñ
  36. * ²ÎÊý£ºarg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  37. */
  38. function invertColorDemo() {
  39.     function getInvertedMat() {
  40.         var mat = screen.screenShot(900, 1600, 100).getMat();
  41.         opencv.invertColor(mat);
  42.         return mat;
  43.     }
  44.     let invertedMat = getInvertedMat();
  45.     printl("ÑÕÉ«·­×ªºóMat£º" + invertedMat);
  46. }


  47. // ·½·¨4£º¿ªÔËËã (openImg)
  48. /**
  49. * ¹¦ÄÜ£ºÏȸ¯Ê´ºóÅòÕÍ£¬È¥³ýСÔëµã¡¢Æ½»¬±ß½ç
  50. * ·µ»ØÖµ£ºMat - ¿ªÔËËãºóµÄͼÏñ
  51. * ²ÎÊý£º
  52. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  53. *   arg1: int - ºË´óС£¨±ØÐë>0£©
  54. */
  55. function openImgDemo() {
  56.     function openImageProcess(mat, kernelSize) {
  57.         kernelSize = kernelSize <= 0 ? 1 : kernelSize;
  58.         return opencv.openImg(mat, kernelSize);
  59.     }
  60.     var mat = screen.screenShot(432, 768, 100).getMat();
  61.     var resultMat = openImageProcess(mat, 3);
  62.     printl("¿ªÔËËã½á¹û³ß´ç£º" + resultMat.width() + "x" + resultMat.height());
  63.     mat = null;
  64.     resultMat = null;
  65. }


  66. // ·½·¨5£ºÈ¥ÔÓµã (removeSmallObjects)
  67. /**
  68. * ¹¦ÄÜ£ºÒƳýÃæ»ýСÓÚãÐÖµµÄСÎïÌ壨ÐèÊäÈë»Ò¶Èͼ£©
  69. * ·µ»ØÖµ£ºMat - È¥ÔÓµãºóµÄͼÏñ
  70. * ²ÎÊý£º
  71. *   arg0: Mat - ÊäÈëµÄ»Ò¶ÈmatͼƬ£¨CV_8UC1£©
  72. *   arg1: double - Ãæ»ýãÐÖµ£¨<¸ÃÖµµÄÎïÌå±»ÒÆ³ý£©
  73. */
  74. function removeSmallObjectsDemo() {
  75.     var mat = screen.screenShot(900, 1600, 100).getMat();
  76.     var grayMat = new Mat();
  77.     opencv.cvtColor(mat, grayMat, opencv.COLOR_BGR2GRAY);
  78.     var resultMat = opencv.removeSmallObjects(grayMat, 100);
  79.     printl("È¥ÔÓµãºóMat£º" + resultMat);
  80.     mat = null;
  81.     grayMat = null;
  82.     resultMat = null;
  83. }


  84. // ·½·¨6£º·Ö¸ôÌáÈ¡ (shapeSplit)
  85. /**
  86. * ¹¦ÄÜ£º×ªºÚ°×ͼºóÌáÈ¡ºÚɫͼÐΣ¬·µ»ØÍ¼ÐÎÊý×é
  87. * ·µ»ØÖµ£ºdetect[] - ͼÐÎÊý×飨º¬×ø±ê¡¢Ãæ»ýµÈ£¬Ö§³Öclick()£©
  88. * ²ÎÊý£º
  89. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  90. *   arg1: int - ÅÅÐò·½Ê½£¨0=Y×ø±ê£¬1=X×ø±ê£¬2=Ãæ»ý£©
  91. *   arg2: int - ÅÅÐò¹æÔò£¨0=ÕýÐò£¬1=µ¹Ðò£©
  92. */
  93. function shapeSplitDemo() {
  94.     function extractShapes() {
  95.         var mat = screen.screenShot(900, 1600, 100).getMat();
  96.         var detects = opencv.shapeSplit(mat, 0, 0);
  97.         mat = null;
  98.         return detects;
  99.     }
  100.     var shapes = extractShapes();
  101.     if (shapes) shapes[0]?.click();
  102. }


  103. // ·½·¨7£ºCVÎļþ·Ö¸ôÌáÈ¡ (shapeSplitEx)
  104. /**
  105. * ¹¦ÄÜ£º´ÓCVÎļþÌáȡͼÐÎ
  106. * ·µ»ØÖµ£ºdetect[] - ͼÐÎÊý×飨֧³Öclick()£©
  107. * ²ÎÊý£ºarg0: String - CVÎļþÃû£¨Èç"ͼɫ710035.cv"£©
  108. */
  109. function shapeSplitExDemo() {
  110.     var detects = opencv.shapeSplitEx('ͼɫ710035.cv');
  111.     if (detects) detects[0]?.click();
  112. }


  113. // ·½·¨8£ºÄ£°åÆ¥Åä (templateMatch)
  114. /**
  115. * ¹¦ÄÜ£º¶àÄ£°åÆ¥Å䶨λĿ±ê£¬·µ»ØÆ¥Åä½á¹ûÊý×é
  116. * ·µ»ØÖµ£ºdetect[] - Æ¥Åä½á¹ûÊý×é
  117. * ²ÎÊý£º
  118. *   arg0: Mat - ÊäÈëͼƬ
  119. *   arg1: String[] - Ä£°åBase64Êý×é
  120. *   arg2: double - ÏàËÆ¶ÈãÐÖµ
  121. *   arg3: double[] - ÇøÓò±ÈÀý£¨[×ó,ÉÏ,ÓÒ,ÏÂ]£©
  122. *   arg4: boolean - ÊÇ·ñÖ»·µ»Ø×îÓÅÖµ
  123. */
  124. function templateMatchDemo() {
  125.     var mat = screen.screenShot(432, 768, 100).getMat();
  126.     var templates = [64λͼµÄBase64±àÂë]; // Ìæ»»ÎªÊµ¼ÊÄ£°å
  127.     var results = opencv.templateMatch(mat, templates, 0.8, [0,0,1,1], false);
  128.     if (results) results[0]?.click();
  129.     mat = null;
  130. }


  131. // ·½·¨9£º¶þÖµ»¯ (threshold)
  132. /**
  133. * ¹¦ÄÜ£ºãÐÖµÄÚתºÚÉ«£¬ãÐÖµÍâת°×É«
  134. * ·µ»ØÖµ£ºMat - ¶þÖµ»¯ºóµÄͼÏñ
  135. * ²ÎÊý£º
  136. *   arg0: Mat - ÊäÈëͼƬ
  137. *   arg1: int - ×îСãÐÖµ
  138. *   arg2: int - ×î´óãÐÖµ
  139. */
  140. function thresholdDemo() {
  141.     function getBinaryMat() {
  142.         var mat = screen.screenShot(900, 1600, 100).getMat();
  143.         opencv.threshold(mat, 53, 150);
  144.         return mat;
  145.     }
  146.     let binaryMat = getBinaryMat();
  147.     printl("¶þÖµ»¯Mat£º" + binaryMat);
  148. }


  149. // ·½·¨10£º×ª»Ò¶Èͼ (toGray)
  150. /**
  151. * ¹¦ÄÜ£º²Êɫͼת»Ò¶Èͼ£¨µ¥Í¨µÀ£©
  152. * ·µ»ØÖµ£ºMat - »Ò¶Èͼ
  153. * ²ÎÊý£ºarg0: Mat - ÊäÈëµÄ²ÊÉ«matͼƬ
  154. */
  155. function toGrayDemo() {
  156.     function getGrayMat() {
  157.         var mat = screen.screenShot(900, 1600, 100).getMat();
  158.         opencv.toGray(mat);
  159.         return mat;
  160.     }
  161.     let grayMat = getGrayMat();
  162.     printl("»Ò¶ÈͼÀàÐÍ£º" + grayMat.type());
  163. }


  164. // ·½·¨11£º×ªHSV (toHSV)
  165. /**
  166. * ¹¦ÄÜ£ºBGRÑÕÉ«¿Õ¼äתHSV
  167. * ·µ»ØÖµ£ºMat - HSVͼÏñ
  168. * ²ÎÊý£ºarg0: Mat - ÊäÈëµÄ²ÊÉ«matͼƬ
  169. */
  170. function toHSVDemo() {
  171.     function getHSVMat() {
  172.         var mat = screen.screenShot(900, 1600, 100).getMat();
  173.         opencv.toHSV(mat);
  174.         return mat;
  175.     }
  176.     let hsvMat = getHSVMat();
  177.     printl("HSV Mat£º" + hsvMat);
  178. }


  179. // ·½·¨12£ºMatתBase64 (mat.ToBase64())
  180. /**
  181. * ¹¦ÄÜ£ºMatͼÏñתBase64×Ö·û´®
  182. * ·µ»ØÖµ£ºString - Base64±àÂë
  183. * µ÷ÓãºMat¶ÔÏóÖ±½Óµ÷Óã¨ÎÞ²ÎÊý£©
  184. */
  185. function matToBase64Demo() {
  186.     var mat = screen.screenShot(900, 1600, 100).getMat();
  187.     var base64 = mat.ToBase64();
  188.     printl("Base64ǰ50×Ö·û£º" + base64.substring(0, 50) + "...");
  189.     mat = null;
  190. }


  191. // ·½·¨13£ºfindImageOneSift£¨SIFTËã·¨ÕÒͼ£©
  192. /**
  193. * ¹¦ÄÜ£º»ùÓÚSIFTËã·¨²éÕÒͼÏñÆ¥ÅäÇøÓò
  194. * ·µ»ØÖµ£ºdetect[] - Æ¥Åä½á¹ûÊý×é
  195. * ²ÎÊý£º£¨·½·¨Ç©Ãû´ýÈ·ÈÏ£¬ÒÔÏÂΪʾÀý²ÎÊý£©
  196. *   arg0: Mat - ´óͼ£¨´ýËÑË÷ͼÏñ£©
  197. *   arg1: Mat - Сͼ£¨Ä£°åͼÏñ£©
  198. *   arg2: int - Æ¥ÅäãÐÖµ1
  199. *   arg3: int - Æ¥ÅäãÐÖµ2
  200. *   arg4: float[] - ¼ì²âÇøÓò±ÈÀý
  201. */
  202. function findImageOneSiftDemo() {
  203.     printl("¿ªÊ¼SIFTËã·¨ÕÒͼʾÀý");
  204.     try {
  205.         // ½ØÈ¡´óͼºÍСͼ
  206.         var bigMat = screen.screenShot(900, 1600, 100).getMat();
  207.         var smallMat = screen.screenShot(300, 300, 100).getMat();
  208.         
  209.         // ×¢Ò⣺·½·¨Ç©Ãû¿ÉÄÜÐèµ÷Õû£¨Ô­Ê¾Àý´æÔÚµ÷ÓôíÎó£©
  210.         // var results = opencv.findImageOneSift(bigMat, smallMat, 60, 50, [0,0,1,1]);
  211.         printl("SIFTÕÒͼÐèÈ·ÈÏ·½·¨Ç©Ãûºóµ÷ÓÃ");
  212.         
  213.         // ÊÍ·Å×ÊÔ´
  214.         bigMat = null;
  215.         smallMat = null;
  216.     } catch (e) {
  217.         printl("SIFTÕÒͼ´íÎó£º" + e);
  218.     }
  219. }


  220. // ·½·¨14£ºfindImagesEx£¨cvÎļþÕÒͼ£©
  221. /**
  222. * ¹¦ÄÜ£º´ÓÖ¸¶¨CVÎļþÖвéÕÒÆ¥ÅäͼÐÎ
  223. * ·µ»ØÖµ£ºdetect[] - Æ¥Åä½á¹ûÊý×飨֧³Öclick()£©
  224. * ²ÎÊý£ºarg0: String - CVÎļþÃû£¨Èç"ͼɫ564976.cv"£©
  225. */
  226. function findImagesExDemo() {
  227.     // ´ÓCVÎļþÕÒͼ
  228.     var detects = opencv.findImagesEx('ͼɫ564976.cv');
  229.     if (detects && detects.length > 0) {
  230.         printl("ÕÒµ½" + detects.length + "¸öÆ¥ÅäͼÐÎ");
  231.         detects[0].click(); // µã»÷µÚÒ»¸ö½á¹û
  232.     } else {
  233.         printl("δÕÒµ½Æ¥ÅäͼÐÎ");
  234.     }
  235. }


  236. // ·½·¨15£ºfindMultiColor£¨¶àµãÕÒÉ«£©
  237. /**
  238. * ¹¦ÄÜ£º¸ù¾Ý»ùµãºÍ¶à¸öÑÕÉ«µã²éÕÒÆ¥ÅäÇøÓò
  239. * ·µ»ØÖµ£ºdetect[] - Æ¥Åä½á¹ûÊý×飨֧³Öclick()£©
  240. * ²ÎÊý£º
  241. *   arg0: Mat - ÊäÈëͼƬ
  242. *   arg1: String - »ùµã£¨¸ñʽ"x,y,#ɫֵ"£¬Èç"546,325,#51752F"£©
  243. *   arg2: String[] - ¶àÉ«µãÊý×飨ͬ»ùµã¸ñʽ£©
  244. *   arg3: int - ƫɫãÐÖµ
  245. *   arg4: int - Æ«ÒÆãÐÖµ
  246. *   arg5: float[] - ¼ì²âÇøÓò±ÈÀý£¨[×ó,ÉÏ,ÓÒ,ÏÂ]£©
  247. *   arg6: double - ÏàËÆ¶È
  248. */
  249. function findMultiColorDemo() {
  250.     function ͼɫ850610() {
  251.         var mat = screen.screenShot(900, 1600, 100).getMat();
  252.         // »ùµã+¶àÉ«µãÕÒÉ«
  253.         return opencv.findMultiColor(mat, '546,325,#51752F', ['552,355,#429D60', '534,367,#63FA87'], 2, 5, [0,0,1,1], 0.95);
  254.     }
  255.     var result = ͼɫ850610();
  256.     if (result) {
  257.         result[0].click();
  258.     } else {
  259.         print.err('²éÕÒͼɫ850610ʧ°Ü');
  260.     }
  261. }


  262. // ·½·¨16£ºfindMultiColorEx£¨cvÎļþ¶àµãÕÒÉ«£©
  263. /**
  264. * ¹¦ÄÜ£º´ÓÖ¸¶¨CVÎļþÖÐÖ´ÐжàµãÕÒÉ«
  265. * ·µ»ØÖµ£ºdetect[] - Æ¥Åä½á¹ûÊý×飨֧³Öclick()£©
  266. * ²ÎÊý£ºarg0: String - CVÎļþÃû£¨Èç"ͼɫ850610.cv"£©
  267. */
  268. function findMultiColorExDemo() {
  269.     // ´ÓCVÎļþÖ´ÐжàµãÕÒÉ«
  270.     var detects = opencv.findMultiColorEx('ͼɫ850610.cv');
  271.     if (detects && detects.length > 0) {
  272.         printl("ÕÒµ½" + detects.length + "¸öÑÕɫƥÅäµã");
  273.         detects[0].click(); // µã»÷µÚÒ»¸ö½á¹û
  274.     } else {
  275.         printl("δÕÒµ½ÑÕɫƥÅäµã");
  276.     }
  277. }


  278. // ·½·¨17£ºgaussianBlur£¨¸ß˹Â˲¨£©
  279. /**
  280. * ¹¦ÄÜ£º¶ÔͼÏñ½øÐиß˹Â˲¨£¬Æ½»¬±ßÔµ¡¢È¥³ýÔëµã
  281. * ·µ»ØÖµ£ºMat - Â˲¨ºóµÄͼÏñ
  282. * ²ÎÊý£º
  283. *   arg0: Mat - ÊäÈëͼÏñ
  284. *   arg1: int - ¾í»ýºË´óС£¨Ó°ÏìÆ½»¬³Ì¶È£©
  285. */
  286. function gaussianBlurDemo() {
  287.     function ͼɫ770562() {
  288.         var mat = screen.screenShot(900, 1600, 100).getMat();
  289.         // ¸ß˹Â˲¨£¨¾í»ýºË5£©
  290.         opencv.gaussianBlur(mat, 5);
  291.         return mat;
  292.     }
  293.     let mat = ͼɫ770562();
  294.     printl("¸ß˹Â˲¨ºóMat£º" + mat);
  295.     mat = null;
  296. }


  297. // ·½·¨18£ºgetAllShap£¨»ñÈ¡ËùÓÐShape£©
  298. /**
  299. * ¹¦ÄÜ£º´ÓͼÏñÖÐÌáÈ¡ËùÓÐÐÎ×´£¨Shape£©
  300. * ·µ»ØÖµ£ºArrayList - °üº¬ËùÓÐÐÎ×´µÄÁбí
  301. * ²ÎÊý£ºarg0: Mat - ÊäÈëͼÏñ£¨½¨ÒéÏÈת»Ò¶Èͼ£©
  302. */
  303. function getAllShapDemo() {
  304.     printl("¿ªÊ¼»ñÈ¡ËùÓÐShapeʾÀý");
  305.     try {
  306.         var mat = screen.screenShot(900, 1600, 100).getMat();
  307.         // ת»Ò¶ÈͼԤ´¦Àí
  308.         var grayMat = new Mat();
  309.         opencv.cvtColor(mat, grayMat, opencv.COLOR_RGB2GRAY);
  310.         
  311.         // »ñÈ¡ËùÓÐShape
  312.         var shapes = opencv.getAllShap(grayMat);
  313.         if (shapes) {
  314.             printl("¹²»ñÈ¡µ½" + shapes.size() + "¸öShape");
  315.         } else {
  316.             printl("δ»ñÈ¡µ½Shape");
  317.         }
  318.         
  319.         // ÊÍ·Å×ÊÔ´
  320.         mat = null;
  321.         grayMat = null;
  322.         shapes = null;
  323.     } catch (e) {
  324.         printl("»ñÈ¡Shape´íÎó£º" + e);
  325.     }
  326. }


  327. // ·½·¨19£ºgetContours£¨»ñÈ¡ÂÖÀªÍ¼£©
  328. /**
  329. * ¹¦ÄÜ£º´ÓͼÏñÖÐÌáÈ¡ÂÖÀª²¢·µ»ØÂÖÀªÍ¼
  330. * ·µ»ØÖµ£ºMat - °üº¬ÂÖÀªµÄͼÏñ
  331. * ²ÎÊý£ºarg0: Mat - ÊäÈëͼÏñ£¨½¨ÒéÏÈת»Ò¶Èͼ£©
  332. */
  333. function getContoursDemo() {
  334.     printl("¿ªÊ¼»ñÈ¡ÂÖÀªÍ¼Ê¾Àý");
  335.     try {
  336.         var mat = screen.screenShot(900, 1600, 100).getMat();
  337.         // ת»Ò¶ÈͼԤ´¦Àí
  338.         var grayMat = new Mat();
  339.         opencv.cvtColor(mat, grayMat, opencv.COLOR_RGB2GRAY);
  340.         
  341.         // »ñÈ¡ÂÖÀª
  342.         var contoursMat = opencv.getContours(grayMat);
  343.         if (contoursMat) {
  344.             printl("ÂÖÀªÍ¼³ß´ç£º" + contoursMat.width() + "x" + contoursMat.height());
  345.         } else {
  346.             printl("δ»ñÈ¡µ½ÂÖÀª");
  347.         }
  348.         
  349.         // ÊÍ·Å×ÊÔ´
  350.         mat = null;
  351.         grayMat = null;
  352.         contoursMat = null;
  353.     } catch (e) {
  354.         printl("»ñÈ¡ÂÖÀª´íÎó£º" + e);
  355.     }
  356. }


  357. // ·½·¨20£ºcoverageArea£¨Í¼Æ¬Ä¨³ý£©
  358. /**
  359. * ¹¦ÄÜ£º¶ÔͼÏñÖ¸¶¨ÇøÓò½øÐÐĨ³ý£¨Ìî³äÖ¸¶¨»Ò¶ÈÖµ£©
  360. * ·µ»ØÖµ£ºMat - Ĩ³ýºóµÄͼÏñ
  361. * ²ÎÊý£º
  362. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  363. *   arg1: double - Ìî³ä»Ò¶ÈÖµ£¨0~255£¬0ΪºÚÉ«£¬255Ϊ°×É«£©
  364. *   arg2: int[] - Ĩ³ýÇøÓò±ÈÀý£¨[×ó,ÉÏ,ÓÒ,ÏÂ]£¬·¶Î§0~1£¬Èç[0,0,1,1]±íʾȫͼ£©
  365. */
  366. function coverageAreaDemo() {
  367.     printl("¿ªÊ¼Í¼Æ¬Ä¨³ýʾÀý");
  368.     try {
  369.         // ½ØÈ¡400x400ÆÁÄ»ÇøÓòתMat
  370.         var mat = screen.screenShot(400, 400, 100).getMat();
  371.         printl("ԭʼͼÏñ³ß´ç£º" + mat.width() + "x" + mat.height());
  372.         
  373.         // ¶¨ÒåĨ³ýÇøÓò£¨È«Í¼£©
  374.         var eraseRegion = [0, 0, 1, 1];
  375.         // Ö´ÐÐĨ³ý£¨Ìî³ä»Ò¶ÈÖµ0£¬¼´ºÚÉ«£©
  376.         var resultMat = opencv.coverageArea(mat, 0, eraseRegion);
  377.         
  378.         printl("Ĩ³ýºóͼÏñÐÅÏ¢£º" + resultMat);
  379.         // ÊÍ·Å×ÊÔ´
  380.         mat = null;
  381.         resultMat = null;
  382.     } catch (e) {
  383.         printl("ͼƬĨ³ý´íÎó£º" + e);
  384.     }
  385.     printl("ͼƬĨ³ýʾÀý½áÊø");
  386. }


  387. // ·½·¨21£ºdilateImage£¨Í¼ÏñÅòÕÍ£©
  388. /**
  389. * ¹¦ÄÜ£º¶ÔͼÏñ½øÐÐÅòÕÍ´¦Àí£¬À©´óÁÁÇø¡¢Á¬½Ó¶ÏÁÑÇøÓò
  390. * ·µ»ØÖµ£ºMat - ÅòÕͺóµÄͼÏñ
  391. * ²ÎÊý£º
  392. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  393. *   arg1: int - ˮƽÅòÕÍϵÊý£¨ÖµÔ½´ó£¬Ë®Æ½·½ÏòÅòÕÍÔ½Ã÷ÏÔ£©
  394. *   arg2: int - ÊúÖ±ÅòÕÍϵÊý£¨ÖµÔ½´ó£¬ÊúÖ±·½ÏòÅòÕÍÔ½Ã÷ÏÔ£©
  395. */
  396. function dilateImageDemo() {
  397.     // ·â×°½ØÍ¼+ÅòÕÍ´¦Àíº¯Êý
  398.     function ͼɫ930021() {
  399.         var mat = screen.screenShot(900, 1600, 100).getMat();
  400.         // ˮƽ+ÊúÖ±ÅòÕÍϵÊý¾ùΪ4
  401.         opencv.dilateImage(mat, 4, 4);
  402.         return mat;
  403.     }
  404.     // Ö´ÐÐÅòÕͲ¢Êä³ö½á¹û
  405.     let matDilate = ͼɫ930021();
  406.     printl("ͼÏñÅòÕͺóÐÅÏ¢£º" + matDilate);
  407.     matDilate = null;
  408. }


  409. // ·½·¨22£ºdrawRect£¨Shape»æÖÆ£©
  410. /**
  411. * ¹¦ÄÜ£ºÔÚͼÏñÉÏ»æÖƾØÐÎShape£¨²ÎÊýÓ뺯ÊýÉùÃ÷´ý²¹³ä£¬ÒÔÏÂΪ³£¼û¹¦ÄÜʾÀý£©
  412. * ·µ»ØÖµ£ºMat - »æÖƺóµÄͼÏñ£¨ÍƲ⣩
  413. * ²ÎÊý£º£¨ÍƲ⣬Ðè¸ù¾Ýʵ¼Ê½Ó¿Úµ÷Õû£©
  414. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  415. *   arg1: int[] - ¾ØÐÎ×ø±ê£¨Èç[x1,y1,x2,y2]£¬×óÉϽÇÓëÓÒϽÇ×ø±ê£©
  416. *   arg2: int[] - ÏßÌõÑÕÉ«£¨Èç[B,G,R]£¬Ä¬ÈÏ¿ÉÄÜΪºìÉ«£©
  417. *   arg3: int - ÏßÌõ¿í¶È£¨Ä¬ÈÏ¿ÉÄÜΪ1£©
  418. */
  419. function drawRectDemo() {
  420.     printl("¿ªÊ¼Shape¾ØÐλæÖÆÊ¾Àý£¨²ÎÊý´ýÈ·ÈÏ£©");
  421.     try {
  422.         var mat = screen.screenShot(900, 1600, 100).getMat();
  423.         // ÍÆ²â²ÎÊý£ºÍ¼Ïñ¡¢¾ØÐÎ×ø±ê[100,100,300,300]¡¢ºìÉ«[0,0,255]¡¢ÏßÌõ¿í¶È2
  424.         // ×¢Ò⣺ʵ¼Êº¯ÊýÃûÓë²ÎÊýÐè°´ÕæÊµ½Ó¿Úµ÷Õû
  425.         // opencv.drawRect(mat, [100,100,300,300], [0,0,255], 2);
  426.         printl("¾ØÐλæÖÆÐ谴ʵ¼Êº¯Êý½Ó¿Úµ÷Õû²ÎÊý");
  427.         mat = null;
  428.     } catch (e) {
  429.         printl("Shape»æÖÆ´íÎó£º" + e);
  430.     }
  431. }


  432. // ·½·¨23£ºerodeImage£¨Í¼Ïñ¸¯Ê´£©
  433. /**
  434. * ¹¦ÄÜ£º¶ÔͼÏñ½øÐи¯Ê´´¦Àí£¬ËõСÁÁÇø¡¢È¥³ýСÔëµã
  435. * ·µ»ØÖµ£ºMat - ¸¯Ê´ºóµÄͼÏñ
  436. * ²ÎÊý£º
  437. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼƬ
  438. *   arg1: int - ˮƽ¸¯Ê´ÏµÊý£¨ÖµÔ½´ó£¬Ë®Æ½·½Ïò¸¯Ê´Ô½Ã÷ÏÔ£©
  439. *   arg2: int - ÊúÖ±¸¯Ê´ÏµÊý£¨ÖµÔ½´ó£¬ÊúÖ±·½Ïò¸¯Ê´Ô½Ã÷ÏÔ£©
  440. */
  441. function erodeImageDemo() {
  442.     // ·â×°½ØÍ¼+¸¯Ê´´¦Àíº¯Êý
  443.     function ͼɫ152593() {
  444.         var mat = screen.screenShot(900, 1600, 100).getMat();
  445.         // ˮƽ+ÊúÖ±¸¯Ê´ÏµÊý¾ùΪ4
  446.         opencv.erodeImage(mat, 4, 4);
  447.         return mat;
  448.     }
  449.     // Ö´Ðи¯Ê´²¢Êä³ö½á¹û
  450.     let matErode = ͼɫ152593();
  451.     printl("ͼÏñ¸¯Ê´ºóÐÅÏ¢£º" + matErode);
  452.     matErode = null;
  453. }


  454. // ·½·¨24£ºfiltersEx£¨cvÎļþÂ˾µ£©
  455. /**
  456. * ¹¦ÄÜ£º¼ÓÔØÖ¸¶¨CVÎļþÖеÄÂ˾µÅäÖ㬶ÔͼÏñÓ¦ÓÃÂ˾µÐ§¹û
  457. * ·µ»ØÖµ£ºMat - Ó¦ÓÃÂ˾µºóµÄͼÏñ
  458. * ²ÎÊý£ºarg0: String - CVÂ˾µÎļþÃû£¨Èç"ͼɫ358384.cv"£¬ÐèÈ·±£Îļþ·¾¶ÕýÈ·£©
  459. */
  460. function filtersExDemo() {
  461.     // ¼ÓÔØCVÎļþÂ˾µ²¢Ó¦ÓÃ
  462.     var matFilter = opencv.filtersEx('ͼɫ358384.cv');
  463.     if (matFilter) {
  464.         printl("Â˾µÓ¦ÓúóͼÏñ³ß´ç£º" + matFilter.width() + "x" + matFilter.height());
  465.         printl("Â˾µÍ¼ÏñÐÅÏ¢£º" + matFilter);
  466.     } else {
  467.         printl("CVÎļþÂ˾µ¼ÓÔØÊ§°Ü");
  468.     }
  469.     matFilter = null;
  470. }


  471. // ·½·¨25£ºfindImageOneKAZE£¨KAZEËã·¨ÕÒͼ£©
  472. /**
  473. * ¹¦ÄÜ£º»ùÓÚKAZEËã·¨²éÕÒͼÏñÆ¥ÅäÇøÓò£¨±ÈSIFT¸üÎȶ¨£¬ÎÞÐèרÀûÊÚȨ£©
  474. * ·µ»ØÖµ£ºdetect - µ¥¸öÆ¥Åä½á¹û£¨º¬×ø±ê¡¢ÏàËÆ¶ÈµÈ£©
  475. * ²ÎÊý£º
  476. *   arg0: Mat - ´óͼ£¨´ýËÑË÷µÄÄ¿±êͼÏñ£©
  477. *   arg1: Mat - Сͼ£¨Ä£°åͼÏñ£©
  478. *   arg2: Mat - ½á¹û´æ´¢Mat£¨ÓÃÓÚ¸¨Öú¼ÆËã£¬ÍÆ²â£©
  479. */
  480. function findImageOneKAZEDemo() {
  481.     printl("¿ªÊ¼KAZEËã·¨ÕÒͼʾÀý");
  482.     try {
  483.         // ¶ÁÈ¡±¾µØÄ£°åͼºÍÄ¿±êͼ£¨Â·¾¶Ðè¸ù¾Ýʵ¼Ê´æ´¢µ÷Õû£©
  484.         var templateImg = new image();
  485.         templateImg.read("sdcard/auto/1.jpg"); // Сͼ£¨Ä£°å£©
  486.         var targetImg = new image();
  487.         targetImg.read("sdcard/auto/2.jpg"); // ´óͼ£¨Ä¿±ê£©
  488.         
  489.         // ´´½¨¸¨Öú½á¹ûMat
  490.         var resultMat = new Mat();
  491.         // Ö´ÐÐKAZEÕÒͼ
  492.         var resKAZE = opencv.findImageOneKAZE(targetImg.getMat(), templateImg.getMat(), resultMat);
  493.         
  494.         if (resKAZE) {
  495.             printl("KAZEÕÒͼ½á¹û£º" + resKAZE);
  496.         } else {
  497.             printl("KAZEÕÒͼδƥÅ䵽Ŀ±ê");
  498.         }
  499.         
  500.         // ÊÍ·Å×ÊÔ´
  501.         templateImg = null;
  502.         targetImg = null;
  503.         resultMat = null;
  504.     } catch (e) {
  505.         printl("KAZEÕÒͼ´íÎó£º" + e);
  506.     }
  507. }


  508. // ·½·¨26£ºHSVÑÕÉ«±ä»»£¨HSVͨµÀµ÷Õû£©
  509. /**
  510. * ¹¦ÄÜ£º¶ÔͼÏñ½øÐÐHSVͨµÀÑÕÉ«±ä»»£¬µ÷ÕûÉ«Ïà¡¢±¥ºÍ¶È¡¢¶Ô±È¶È
  511. * ·µ»ØÖµ£ºMat - ´¦ÀíºóµÄͼÏñ
  512. * ²ÎÊý£º
  513. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  514. *   arg1: int - É«Ïà²ÎÊý£¨µ÷ÕûÑÕÉ«»ùµ÷£©
  515. *   arg2: int - ±¥ºÍ¶È²ÎÊý£¨µ÷ÕûÑÕÉ«ÏÊÑ޳̶ȣ©
  516. *   arg3: int - ¶Ô±È¶È²ÎÊý£¨µ÷ÕûÃ÷°µ¶Ô±È£©
  517. */
  518. function hsvTransformDemo() {
  519.     function hsvTransform() {
  520.         var mat = screen.screenShot(432, 768, 100).getMat();
  521.         // µ÷ÕûÉ«Ïà17¡¢±¥ºÍ¶È17¡¢¶Ô±È¶È17
  522.         opencv.HSV(mat, 17, 17, 17);
  523.         printl("HSV±ä»»ºóͼÏñ£º" + mat);
  524.         return mat;
  525.     }
  526.     let hsvResult = hsvTransform();
  527.     hsvResult = null;
  528. }


  529. // ·½·¨27£º¶Ô±È¶Èµ÷Õû£¨adjustContrast£©
  530. /**
  531. * ¹¦ÄÜ£ºµ÷ÕûͼÏñ¶Ô±È¶È£¬ãÐÖµ¿ØÖÆÇ¿Èõ£¨ÖµÔ½´ó¶Ô±È¶ÈԽǿ£©
  532. * ·µ»ØÖµ£ºMat - µ÷ÕûºóµÄͼÏñ
  533. * ²ÎÊý£º
  534. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  535. *   arg1: double - ¶Ô±È¶ÈãÐÖµ£¨>1ÔöÇ¿£¬<1¼õÈõ£¬1²»±ä£©
  536. */
  537. function adjustContrastDemo() {
  538.     function adjustContrast() {
  539.         var mat = screen.screenShot(432, 768, 100).getMat();
  540.         // ½µµÍ¶Ô±È¶È£¨ãÐÖµ0.5£©
  541.         opencv.adjustContrast(mat, 0.5);
  542.         printl("¶Ô±È¶Èµ÷ÕûºóͼÏñ£º" + mat);
  543.         return mat;
  544.     }
  545.     let contrastResult = adjustContrast();
  546.     contrastResult = null;
  547. }


  548. // ·½·¨28£ºBitmapתMat£¨bitmapToMat£©
  549. /**
  550. * ¹¦ÄÜ£º½«Bitmap¸ñʽͼÏñת»»ÎªOpenCV´¦ÀíÓõÄMat¸ñʽ
  551. * ·µ»ØÖµ£ºMat - ת»»ºóµÄͼÏñ
  552. * ²ÎÊý£ºarg0: Bitmap - ÊäÈëµÄBitmap¸ñʽͼÏñ
  553. */
  554. function bitmapToMatDemo() {
  555.     function bitmapToMat() {
  556.         // »ñÈ¡ÆÁÄ»½ØÍ¼µÄBitmap
  557.         var screenshot = screen.screenShot(432, 768, 100);
  558.         var bmp = screenshot.getBitmap();
  559.         // ת»»ÎªMat
  560.         var mat = opencv.bitmapToMat(bmp);
  561.         printl("BitmapתMat½á¹û£º" + mat);
  562.         return mat;
  563.     }
  564.     let matFromBmp = bitmapToMat();
  565.     matFromBmp = null;
  566. }


  567. // ·½·¨29£ºÑÕÉ«¹ýÂË£¨colorFilter£©
  568. /**
  569. * ¹¦ÄÜ£º±£ÁôÉ趨µÄÄ¿±êÑÕÉ«£¬¹ýÂËÆäËûÑÕÉ«£¨ÊÊÓÃÓڹ̶¨ÑÕɫĿ±êɸѡ£©
  570. * ·µ»ØÖµ£ºMat - ¹ýÂ˺óµÄͼÏñ
  571. * ²ÎÊý£º
  572. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  573. *   arg1: String[] - Ä¿±êÑÕÉ«Êý×飨¸ñʽ["#RRGGBB",...]£©
  574. *   arg2: int - Æ¥ÅäãÐÖµ£¨ÔÊÐíµÄÑÕɫƫ²î£¬ÖµÔ½´óÈÝ´íÐÔԽǿ£©
  575. */
  576. function colorFilterDemo() {
  577.     function colorFilter() {
  578.         var mat = screen.screenShot(432, 768, 100).getMat();
  579.         // Ä¿±êÑÕÉ«£ºÍÁ»Æ¡¢½ð»ÆµÈ
  580.         var colors = ["#615018", "#D9C15D", "#010000", "#F4C51F"];
  581.         // ¹ýÂËÑÕÉ«£¨ãÐÖµ2£¬ÔÊÐíÇá΢ƫ²î£©
  582.         mat = opencv.colorFilter(mat, colors, 2);
  583.         printl("ÑÕÉ«¹ýÂ˺óͼÏñ£º" + mat);
  584.         return mat;
  585.     }
  586.     let filterResult = colorFilter();
  587.     filterResult = null;
  588. }


  589. // ·½·¨30£ºÇøÓò½ØÍ¼£¨extractRegion£©
  590. /**
  591. * ¹¦ÄÜ£º°´°Ù·Ö±È²Ã¼ôͼÏñ»ò±£ÁôÖ¸¶¨ÇøÓò£¨ÇøÓòÍâ±ä°×£©
  592. * ·µ»ØÖµ£ºMat - ´¦ÀíºóµÄÇøÓòͼÏñ
  593. * ²ÎÊý£º
  594. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  595. *   arg1: double[] - ÇøÓò·¶Î§£¨[×óÉϽÇx%,×óÉϽÇy%,ÓÒϽÇx%,ÓÒϽÇy%]£¬·¶Î§0~1£©
  596. *   arg2: boolean - ÊÇ·ñ²Ã¼ô£¨true=²Ã¼ôÎªÇøÓò´óС£¬false=ÇøÓòÍâ±ä°×±£Áôԭͼ´óС£©
  597. */
  598. function extractRegionDemo() {
  599.     function extractRegion() {
  600.         var mat = screen.screenShot(432, 768, 100).getMat();
  601.         // ÇøÓò£º×óÉϽÇ(3.935%,16.406%)µ½ÓÒϽÇ(53.472%,63.281%)
  602.         var region = [0.03935, 0.16406, 0.53472, 0.63281];
  603.         // ÇøÓòÍâ±ä°×£¨²»²Ã¼ô£©
  604.         opencv.extractRegion(mat, region, false);
  605.         printl("ÇøÓò´¦ÀíºóͼÏñ£º" + mat);
  606.         return mat;
  607.     }
  608.     let regionResult = extractRegion();
  609.     regionResult = null;
  610. }


  611. // ·½·¨31£ºÃæ»ý¹ýÂË£¨inArea£©
  612. /**
  613. * ¹¦ÄÜ£º±£ÁôͼÏñÖÐÃæ»ýÔÚÖ¸¶¨·¶Î§ÄÚµÄÇøÓò£¬¹ýÂ˹ýС/¹ý´óÇøÓò
  614. * ·µ»ØÖµ£ºMat - ¹ýÂ˺óµÄͼÏñ
  615. * ²ÎÊý£º
  616. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  617. *   arg1: double - ×îÐ¡Ãæ»ý£¨±£Áô¡Ý¸ÃÖµµÄÇøÓò£©
  618. *   arg2: double - ×î´óÃæ»ý£¨±£Áô¡Ü¸ÃÖµµÄÇøÓò£©
  619. */
  620. function inAreaDemo() {
  621.     function inArea() {
  622.         var mat = screen.screenShot(432, 768, 100).getMat();
  623.         // ±£ÁôÃæ»ý1~10000µÄÇøÓò
  624.         opencv.inArea(mat, 1, 10000);
  625.         printl("Ãæ»ý¹ýÂ˺óͼÏñ£º" + mat);
  626.         return mat;
  627.     }
  628.     let areaResult = inArea();
  629.     areaResult = null;
  630. }


  631. // ·½·¨32£º±ßÔµÌáÈ¡£¨Canny£©
  632. /**
  633. * ¹¦ÄÜ£º»ùÓÚCannyËã·¨ÌáȡͼÏñ±ßÔµ£¨¸ßãÐֵͨ³£ÎªµÍãÐÖµ2~3±¶£©
  634. * ·µ»ØÖµ£ºMat - ±ßÔµÌáÈ¡ºóµÄͼÏñ
  635. * ²ÎÊý£º
  636. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  637. *   arg1: double - µÍãÐÖµ£¨¿ØÖÆÈõ±ßÔµ¼ì²â£©
  638. *   arg2: double - ¸ßãÐÖµ£¨¿ØÖÆÇ¿±ßÔµ¼ì²â£¬Í¨³£ÎªµÍãÐÖµ2~3±¶£©
  639. */
  640. function cannyEdgeDemo() {
  641.     function cannyEdge() {
  642.         var mat = screen.screenShot(432, 768, 100).getMat();
  643.         // µÍãÐÖµ50£¬¸ßãÐÖµ100£¨·ûºÏ2±¶¹ØÏµ£©
  644.         opencv.Canny(mat, 50, 100);
  645.         printl("±ßÔµÌáÈ¡ºóͼÏñ£º" + mat);
  646.         return mat;
  647.     }
  648.     let cannyResult = cannyEdge();
  649.     cannyResult = null;
  650. }


  651. // ·½·¨33£ºOCRʶ±ð£¨OCR£©
  652. /**
  653. * ¹¦ÄÜ£ºÍ¨¹ýѵÁ·×Ö¿âʶ±ðÖ¸¶¨ÇøÓòÎÄ×Ö£¬·µ»ØÊ¶±ð½á¹û
  654. * ·µ»ØÖµ£ºocrResult - º¬Ê¶±ðÎÄ×Ö¼°Î»ÖÃÐÅÏ¢µÄ¶ÔÏó
  655. * ²ÎÊý£º
  656. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  657. *   arg1: String - ×Ö¿â·¾¶£¨Èç"ͼɫ976442.ocr"£©
  658. *   arg2: double - ÏàËÆ¶È£¨0~1£¬ÖµÔ½¸ßÆ¥ÅäÔ½Ñϸñ£©
  659. *   arg3: int - Ô¤ÆÚÎÄ×ÖÊý£¨0±íʾ²»ÏÞÖÆ£©
  660. *   arg4: double[] - ʶ±ðÇøÓò£¨[×ó,ÉÏ,ÓÒ,ÏÂ]±ÈÀý£¬0~1£©
  661. */
  662. function ocrDemo() {
  663.     function ocr() {
  664.         var mat = screen.screenShot(432, 768, 100).getMat();
  665.         // ʶ±ðÇøÓò£ºÈ«Í¼
  666.         var ocrRegion = [0, 0, 1, 1];
  667.         // µ÷ÓÃOCR£º×Ö¿â"ͼɫ976442.ocr"£¬ÏàËÆ¶È0.8
  668.         var ocrRes = opencv.OCR(mat, 'ͼɫ976442.ocr', 0.8, 0, ocrRegion);
  669.         ocrRes ? printl("OCRʶ±ð½á¹û£º" + ocrRes.getAllString()) : print.err('OCRʶ±ðʧ°Ü');
  670.         return ocrRes;
  671.     }
  672.     let ocrResult = ocr();
  673.     ocrResult = null;
  674. }


  675. // ·½·¨34£ºCVÎļþOCR£¨OCREx£©
  676. /**
  677. * ¹¦ÄÜ£ºÍ¨¹ýÔ¤¶¨ÒåµÄCVÎļþ£¨º¬×Ö¿âºÍÇøÓò£©½øÐÐOCRʶ±ð
  678. * ·µ»ØÖµ£ºocrResult - º¬Ê¶±ð½á¹ûµÄ¶ÔÏó
  679. * ²ÎÊý£ºarg0: String - CVÎļþ·¾¶£¨Èç"ͼɫ598321.cv"£©
  680. */
  681. function ocrExDemo() {
  682.     function ocrEx() {
  683.         // ¶ÁÈ¡CVÎļþ²¢Ê¶±ð
  684.         var ocrExRes = opencv.OCREx('ͼɫ598321.cv');
  685.         ocrExRes ? printl("CVÎļþOCR½á¹û£º" + ocrExRes.getAllString()) : print.err('CVÎļþOCRʧ°Ü');
  686.         return ocrExRes;
  687.     }
  688.     let cvOcrResult = ocrEx();
  689.     cvOcrResult = null;
  690. }


  691. // ·½·¨35£ºÍ¼Ïñƽ»¬£¨Smooth£©
  692. /**
  693. * ¹¦ÄÜ£º¼õÉÙͼÏñÔëÉù¡¢Ä£ºýͼÏñ£¨Í¨¹ýÂ˲¨ºÍȥë±ßʵÏÖ£©
  694. * ·µ»ØÖµ£ºMat - ƽ»¬ºóµÄͼÏñ
  695. * ²ÎÊý£º
  696. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  697. *   arg1: int - Â˲¨Öµ£¨ÖµÔ½´óƽ»¬Ð§¹ûԽǿ£©
  698. *   arg2: int - ȥë±ß´óС£¨¿ØÖƱßԵƽ»¬³Ì¶È£©
  699. */
  700. function smoothDemo() {
  701.     function smooth() {
  702.         var mat = screen.screenShot(432, 768, 100).getMat();
  703.         // Â˲¨Öµ3£¬È¥Ã«±ß2
  704.         var smoothMat = opencv.Smooth(mat, 3, 2);
  705.         printl("ƽ»¬´¦ÀíºóͼÏñ£º" + smoothMat);
  706.         return smoothMat;
  707.     }
  708.     let smoothResult = smooth();
  709.     smoothResult = null;
  710. }


  711. // ·½·¨36£º¶àµã±ÈÉ«£¨checkColors£©
  712. /**
  713. * ¹¦ÄÜ£ºÑé֤ͼÏñÖжà¸öÖ¸¶¨×ø±êµÄÑÕÉ«ÊÇ·ñ·ûºÏÔ¤ÆÚ£¨È«Æ¥Åä·µ»Øtrue£©
  714. * ·µ»ØÖµ£ºboolean - ÊÇ·ñȫƥÅä
  715. * ²ÎÊý£º
  716. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  717. *   arg1: String[] - Ä¿±êµãÊý×飨¸ñʽ"x,y,#RRGGBB"£¬Èç"325,317,#F4C51F"£©
  718. *   arg2: int - ÑÕÉ«Îó²î£¨ÔÊÐíµÄɫֵƫ²î£©
  719. *   arg3: int - ×ø±êÎó²î£¨ÔÊÐíµÄλÖÃÆ«²î£©
  720. *   arg4: double - ÏàËÆ¶È£¨0~1£¬Æ¥ÅäÑϸñ³Ì¶È£©
  721. */
  722. function checkColorsDemo() {
  723.     function checkColors() {
  724.         var mat = screen.screenShot(900, 1600, 100).getMat();
  725.         // Ä¿±êµã£º×ø±ê+ÑÕÉ«
  726.         var points = ['325,317,#F4C51F', '357,364,#070200', '336,345,#100500', '356,386,#F4C51F'];
  727.         // ÑÕÉ«Îó²î2£¬×ø±êÎó²î5£¬ÏàËÆ¶È0.95
  728.         var isMatch = opencv.checkColors(mat, points, 2, 5, 0.95);
  729.         isMatch ? printl('¶àµã±ÈÉ«³É¹¦') : print.err('¶àµã±Èɫʧ°Ü');
  730.         return isMatch;
  731.     }
  732.     let colorCheckResult = checkColors();
  733. }


  734. // ·½·¨37£ºCVÎļþ¶àµã±ÈÉ«£¨checkColorsEx£©
  735. /**
  736. * ¹¦ÄÜ£ºÍ¨¹ýÔ¤¶¨ÒåµÄCVÎļþ£¨º¬¶àµã×ø±êºÍÑÕÉ«£©Ñé֤ƥÅä
  737. * ·µ»ØÖµ£ºboolean - ÊÇ·ñÆ¥Åä³É¹¦
  738. * ²ÎÊý£ºarg0: String - CVÎļþ·¾¶£¨Èç"ͼɫ246814.cv"£©
  739. */
  740. function checkColorsExDemo() {
  741.     function checkColorsEx() {
  742.         // »ùÓÚCVÎļþÑéÖ¤¶àµã±ÈÉ«
  743.         var isExMatch = opencv.checkColorsEx('ͼɫ246814.cv');
  744.         isExMatch ? printl('CVÎļþ¶àµã±ÈÉ«³É¹¦') : printl('CVÎļþ¶àµã±Èɫʧ°Ü');
  745.         return isExMatch;
  746.     }
  747.     let cvColorCheckResult = checkColorsEx();
  748. }


  749. // ·½·¨38£º±ÕÔËË㣨closeImg£©
  750. /**
  751. * ¹¦ÄÜ£ºÏÈÅòÕͺó¸¯Ê´£¬ÓÃÓÚÌî³äͼÏñС¿×¡¢Á¬½ÓÁÚ½üÇøÓò
  752. * ·µ»ØÖµ£ºMat - ±ÕÔËËã´¦ÀíºóµÄͼÏñ
  753. * ²ÎÊý£º
  754. *   arg0: Mat - ÊäÈëµÄmat¸ñʽͼÏñ
  755. *   arg1: int - ºË´óС£¨ÖµÔ½´óЧ¹ûԽǿ£©
  756. */
  757. function closeImgDemo() {
  758.     function closeImg() {
  759.         var mat = screen.screenShot(900, 1600, 100).getMat();
  760.         // ±ÕÔËË㣺ºË´óС3
  761.         opencv.closeImg(mat, 3);
  762.         printl("±ÕÔËËãºóͼÏñ£º" + mat);
  763.         return mat;
  764.     }
  765.     let closeResult = closeImg();
  766.     closeResult = null;
  767. }
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2025-10-27 18:23 , Processed in 0.626486 second(s), 35 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí