代码拉取完成,页面将自动刷新
同步操作将从 带刀医生/php-opencv 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
use CV\Scalar;
use function CV\{imread, imwrite, cvtColor};
$imgname = 'qing2';
$filetype = '.png';
$imgfileName = $imgname.$filetype;
$src = imread("images/".$imgfileName); // opencv loads image to matrix with BGR order
$src = cvtColor($src, CV\COLOR_BGR2RGB); // convert BGR to RGB
\CV\copyMakeBorder($src, $src, 7, 7, 7, 7, 1); // add borders 7px
//var_export($src);
$blob = \CV\DNN\blobFromImage($src, 1, $src->size(), new Scalar()); // convert image to 4 dimensions matrix
//var_export($blob);
$blob = $blob->divide(255); // convert color values from 0-255 to 0-1
$net = \CV\DNN\readNetFromCaffe('models/waifu2x/scale2.0x_model.prototxt', 'models/waifu2x/scale2.0x_model.caffemodel');
$net->setInput($blob, "");
$r = $net->forward();
$r = $r->divide(1/255); // convert color values from 0-255 to 0-1
//var_export($r);
$mat = new \CV\Mat($r->shape[2], $r->shape[3], CV\CV_32FC3);
for ($i = 0; $i < $r->shape[2]; $i++) {
for ($j = 0; $j < $r->shape[3]; $j++) {
$mat->at($i, $j, 0, $r->atIdx([0,0,$i,$j])); //R
$mat->at($i, $j, 1, $r->atIdx([0,1,$i,$j])); //G
$mat->at($i, $j, 2, $r->atIdx([0,2,$i,$j])); //B
}
}
imwrite("results/".$imgfileName, $mat);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。