PHP php调用c数据问题

PHP扩展tclip调用opencv从内存中读取及解析图片数据的问题 | PHPBoy-php技术爱好者博客,技术与管理,男人与女人
PHP扩展tclip调用opencv从内存中读取及解析图片数据的问题
前两天蛮说有一个PHP扩展,tclip图片裁剪程序。
Tclip致力于人脸识别和图片显著性区域的识别,它与其他图片裁剪程序最大的不同之处在于,在裁剪后的图片中保留人脸和其他图片显著性区域,不过还是图片裁剪。
tclip这个扩展依赖开源的opencv库,百科:OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
回到正题,tclip这个小程序,只用到了opencv中一小部分功能,就是图片显著性区域的识别。
具体的裁剪算法,不做多的研究。
现在的问题是,想实现从内存中通过PHP读取图片的二进制数据(这部分数据是先准备好的)传递给opencv,通过查看opencv的API文档,看到了imdecode方法,可以从内存中载入图片。那么可以解决这个问题了。
关于安装tclip扩展的介绍:
但是要注意的是,opencv-2.4.9应该有bug,编译不成功,另外ubuntu-14.0.4的编译安装之后调用tclip函数报错,我测试的版本是:
centos-6.4
PHP-5.4.31
opencv-2.4.4
我简单的修改一下tclip扩展,支持直接从内存中载入图片数据:
最后,虽然PHP中已经直接可以传递图片的二进制数据了,但是发现opencv源码中,也会先将二进制数据保存到一个临时文件,再读取的。并且在opencv-2.4.2版本中临时文件不会被删除,这就有点坑了。但是还是可以减少PHP的逻辑,所以支持二进制的图片数据还是有必要的。
版权信息:>>本文链接: 转载请注明出处.如果喜欢:
PHP技术使用者,从事学习和使用PHP已有几年时间,目前也是从事PHP相关技术岗位。现就职于某金融互联网公司产品研发。
关于本文小编用PHP截获表单数据问题(有代码,大神帮看看吧我小白一个)_php吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:39,900贴子:
用PHP截获表单数据问题(有代码,大神帮看看吧我小白一个)收藏
表单处理程序:&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"""&&html xmlns="" xml:lang="en" lang="en"&&head& &title&than kyou&/title& &link rel="stylesheet" type="text/css" href="common.css"/&&/head&&body&&h1&thank you&/h1&&p&thank you for registering.here is tthe information&/p&&dl&&dt&textField&/dt&&dd&&?php echo $_POST["textField"]?&&/dd&&dt&passwordField&/dt&&dd&&?php echo $_POST["passwordField"]?&&/dd&&dt&checkboxfield&/dt&&dd&&?php echo $_POST["checkboxfield"]?&&/dd&&dt&radiobuttonfield&/dt&&dd&&?php echo $_POST["radiobuttonfield"]?&&/dd&&dt&fileselectfield&/dt&&dd&&?php echo $_POST["fileselectfield"]?&&/dd&&dt&imageField&/dt&&dd&&?php echo $_POST["imageField"]?&&/dd&&dt&pulldownmenu&/dt&&dd&&?php echo $_POST["pulldownmenu"]?&&/dd&&dt&multilistbox&/dt&&dd&&?php echo $_POST["multilistbox"]?&&/dd&&dt&textareafield&/dt&&dd&&?php echo $_POST["textareafield"]?&&/dd&&/dl&&/body&&/html&表单:&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"""&&html xmlns="" xml:lang="en" lang="en"&&head& &title&membership form&/title& &link rel="stylesheet" type="text/css" href="common.css"/&&/head&&body&&h1&an html form&/h1&&form action="process_registration.html" method="post"&
&div style="width: 25"&
&label for="textField"&a text input file&/label&&/br&
&input type="text" name="textField" id="textField" value=""/&&/br&
&label for="passworfField"&a password field&/label&&/br&
&input type="password" name="passwordField" id="passwordfield" value=""/&&/br&
&lable for="checkboxfield"&a checkbox field&/label&&/br&
&input type="checkbox" name="checkboxfield" id="checkboxField" value="yes"/&&/br&
&label for="radiobuttonField1"&a radio button Field&/label&&/br&
&input type="radio" name="radiobuttonfield" id="radiobuttonfield1" value="radio1"/&&/br&
&label for="radiobuttonField2"&another radio button Field&/label&&/br&
&input type="radio" name="radiobuttonfield" id="radiobuttonfield2" value="radio2"/&&/br&
&label for="submitbutton"&a submit button&/label&&/br&
&input type="submit" name="submitbutton" id="submitbutton" value="submit button"/&&/br&
&label for="resetbutton"&a resetbutton&/label&&/br&
&input type="reset" name="resetbutton" id="resetbutton" value="reset form"/&&/br&
&label for="fileselectfield"&a file select field&/label&&/br&
&input type="file" name="fileselectfield" id="fileselectfield" value=""/&&/br&
&label for="hiddenfield"&a hidden field&/label&&/br&
&input type="hidden" name="hiddenField" id="hiddenField" value=""/&&/br&
&label for="imageField"&an image field&/lable&&/br&
&input type="image" name="imageField" id="imagefield" value="" src="火蝴蝶GIF.gif" width="23" height="23"/&&/br&
&label for="pushbutton"&a push button&/label&&/br&
&input type="button" name="pushbutton" id="pushbutton" value="click me"/&&/br&
&label for="pulldownmenu"&a pull-down menu&/label&&/br&
&select name="pulldownmenu" id="pulldownmenu" size="1"&
&option value="option1"&option 1&/option&
&option value="option2"&option 2&/option&
&option value="option3"&option 3&/option&
&label for="listbox"&a list box&/label&&/br&
&select name="listbox" id="listbox" size="3"&
&option value="option1"&option 1&/option&
&option value="option2"&option 2&/option&
&option value="option3"&option 3&/option&
&label for"multilistbox"&a multi-select list box&/label&&/br&
&select name="multilistbox" id="multilistbox" size="3" multiple="multiple"&&option value="option1"&option 1&/option&
&option value="option2"&option 2&/option&
&option value="option3"&option 3&/option&
&label for="textareafield"&a text area field&/label&&/br&
&textarea name="textareafield" id="textareafield" rows="4" cols="50"&&/textarea&
&/form&&/body&&/html&以下是截图,表单处理程序不能返回表单submit的值是怎么回事?
求解答,谢谢拉~
&form action="process_registration.html" method="post"& 改成&form action="process_registration.php" method="post"& 试试
登录百度帐号我的游戏推荐游戏
后查看最近玩过的游戏
为兴趣而生,贴吧更懂你。或php读取access数据库问题???
[问题点数:30分,结帖人yhxjc]
php读取access数据库问题???
[问题点数:30分,结帖人yhxjc]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2013年5月 总版技术专家分月排行榜第一
2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2013年5月 总版技术专家分月排行榜第一
2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2013年5月 总版技术专家分月排行榜第一
2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)_模板无忧
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)_PHP教程
推荐:本篇文章是对php调用MySQL存储过程的方法进行了集合与汇总,需要的朋友参考下 类型一:调用带输入、输出类型参数的方法 复制代码 代码如下: $returnValue = ''; try { mysql_query ( set @Return ); $spname = 'P__Test_GetInfo1'; mysql_query ( call $spname(@Return,本篇文章是对中使用异步调用获取数据时出现(由于出现错误c00ce56e而导致此项操作无法完成)的解决方法进行了详细的分析介绍,需要的朋友参考下
【详细错误】:由于出现错误 c00ce56e 而导致此项操作无法完成
【造成原因】:未指定输出编码格式。
【解决办法】:句首加入header(&content-type:text/ charset=UTF-8&);
分享:【错误原因】: mysql_query执行超时. 【解决办法】: 修改php.ini中的 max_execution_time的值,默认为300,单位是秒,例如: ;max_execution_time = 300 ;将其改为: max_execution_time = 3000 最后,重新启动服务管理器即可~
&&&&&&&&&&&&
相关PHP教程:
编程教程搜索
PHP教程推荐
猜你也喜欢看这些PHP 读取数据库信息以及输出数据库信息问题
PHP 读取数据库信息以及输出数据库信息问题
conn.php中的代码(初始化连接数据库了,肯定不是连接问题)
function user_selbyid($username){$sql="select userpwd from users where username='$username'";$rs=mysql_query($sql);return mysql_fetch_row($rs) or die("查询单一用户出错");}
第二个页面
include ("../conn.php");$username = $_POST['username'];$userpwd = $_POST['userpwd'];$db = new conn();$result = $db-&user_selbyid($username);print_r($result . "查询的结果");for ($i = 0; $i & strlen($result); i++) {&echo $result[i] . "+" . $i;}
就上面的代码 数据库里面的测试数据是aaa,bbb
第一个问题:print_r输出的为什么会是1?不是应该输出这个$result数组么?
第二个问题: syntax error, unexpected T_INC, expecting ')'运行后报这个错误是怎么回事啊?
第三个问题:希望高手提供个代码解决下输出$result的问题,不胜感激。。。
补充:&?php/*数据库连接类&* Created on &*&* To change the template for this generated file go to&* Window - Preferences - PHPeclipse - PHP - Code Templates&*/
&class conn{//初始化函数,调用连接类的时候自动运行&function __construct(){$this-&connect();&}&//数据库连接function connect(){mysql_connect('localhost','root','') or die("数据库连接失败,请重试");mysql_select_db('demo');}//添加用户function user_insert($username,$userpwd,$userset){$sql="insert into users(username,userpwd,userset) value($username,$userpwd,$userset)";return mysql_query($sql) or die("添加出错");}//查询单一用户function user_selbyid($username){$sql="select userpwd from users where username='$username'";$rs=mysql_query($sql);return mysql_fetch_row($rs) or die("查询单一用户出错");}
//数据库关闭function close(){mysql_close();}&}?&这是我conn.php
补充:第二个问题已经不报错了 谢谢 请帮忙看下第一个和第三个问题
补充:测试了 能出来结果
然后怎么办
补充:。。。不能在类中去输出 我必须在另一个页面去输出值,有没有解决办法啊
补充:我在conn.php中return mysql_fetch_row($rs) or die("查询单一用户出错");改成了
$result=mysql_fetch_row($rs) or die("查询单一用户出错");
结果就能传过来了& 郁闷就多了一个赋值就能用了 现在也闹不清怎么回事,分给你吧,帮我解决了不少问题了
for ($i = 0; $i & strlen($result); i++) {&echo $result[i] . "+" . $i;}
&
错误应该是指 $i++ 写成了 i++
$result如果是数组 strlen是返回一个字符串的长度 这是php不是c++
&
第一个问题需要把你的conn类贴出来看看
提交的username和名没问题的话那应该没错
print_r($result . "查询的结果");
改成 print_r($result);
$result是不是串
字符串单独一行输出
最后的循环输出strlen换成count就可以
不过没必要循环 就一条数据
echo $result[0];
不行 print_r($result)出来的还是1,把strlen改了count也无法。。。再帮忙看看
mysql_connect('localhost','root','别忘加密码') or die("失败,请重试");mysql_select_db('demo');$sql="select userpwd from users where username='$username'";$rs=mysql_query($sql);$result =&mysql_fetch_row($rs) or die("查询单一用户出错");
print_r($result);
先这样看看有没有结果。。
这跟用类是一样的步骤。。肯间哪里有差别吧
你要找不到就这样用算了-.-
等待您来回答
网页制作领域专家

我要回帖

更多关于 php调用c 的文章

 

随机推荐