我正在开发一个检测图像中圆形形状的程序。我认为 Hough 变换是最好的,我在 OpenCV 库中找到了一个。问题是,当我尝试使用它时,出现了一个我不知道如何修复的错误。Python 的 OpenCV 没有完全实现吗?是否有修复程序运行所需的库?
这是代码:
import cv
#cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(0)
while True:
img = cv.QueryFrame(capture)
gray = cv.CreateImage(cv.GetSize(img), 8, 1)
edges = cv.CreateImage(cv.GetSize(img), 8, 1)
cv.CvtColor(img, gray, cv.CV_BGR2GRAY)
cv.Canny(gray, edges, 50, 200, 3)
cv.Smooth(gray, gray, cv.CV_GAUSSIAN, 9, 9)
storage = cv.CreateMat(1, 2, cv.CV_32FC3)
#This is the line that throws the error
cv.HoughCircles(edges, storage, cv.CV_HOUGH_GRADIENT, 2, gray.height/4, 200, 100)
#cv.ShowImage("camera", img)
if cv.WaitKey(10) == 27:
break
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
OpenCV 错误:未知函数中的空 pinter (),文件 ..\..\..\..\ocv\openc\src\cxcore\cxdatastructs.cpp,第 408 行 Traceback(最近一次调用):文件“ellipse-检测 …
在我用AJAX发送它之前,我有什么特别要对JSON对象做的吗?我的代码看起来像这样:
runAjax(JSON.stringify(data));
Run Code Online (Sandbox Code Playgroud)
}
function runAjax(JSONstring)
{
ajax = getHTTPObject();
var params = "?data=" + JSONstring;
ajax.open("POST", "createtrip.php", true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ajax.setRequestHeader("Content-length", params.length);
ajax.setRequestHeader("Connection", "close");
ajax.onreadystatechange = serverSpeaks;
ajax.send(params);
}
Run Code Online (Sandbox Code Playgroud)
现在服务器没有收到数据.我在服务器端获取null,但客户端JSONString已设置.有什么我做错了吗?
在我的网络应用程序中,我有一些用JavaScript编写的复杂对象(即嵌套数组,带有对象的对象内的对象等),我的应用程序的性质依赖于这些.我需要将所有数据发送到PHP,以便我可以将其保存到数据库中.将对象发送到PHP的有效,简单的方法是什么?我尝试过JSON,但是遇到了"过多的递归"等奇怪的错误,我猜这意味着我的对象太复杂了.那么有一个很好的脚本库可以做到这一点吗?提前致谢.
编辑:
那么JSON呢.我尝试更新JSON库无济于事,我现在正在寻找循环引用.