我正在使用带网络摄像头的opencv 2.我可以获得视频流并对其进行处理,但我似乎无法想出一种调整显示窗口大小的方法.我有一些水平堆叠的视频图像,但图像尺寸非常小,很难看到东西.
我的代码很简单,按照以下方式:
cv2.namedWindow("main")
....
result = np.hstack((res2, foreground))
result = np.hstack((ff, result))
cv2.imshow("main", result)
cv2.waitKey(20)
Run Code Online (Sandbox Code Playgroud)
在OpenCV的文件中指出:
namedWindow
flags – Flags of the window. Currently the only supported flag is CV_WINDOW_AUTOSIZE . If this is set, the window size is automatically adjusted to fit the displayed image (see imshow() ), and you cannot change the window size manually.
Run Code Online (Sandbox Code Playgroud)
但qt后端显然有额外的标志.我没有qt后端.有没有办法让我增加图像的大小,以便我可以看到它们?
我通过这样做运行scrapy日志:
from scrapy import log
class MySpider(BaseSpider):
name = "myspider"
def __init__(self, name=None, **kwargs):
LOG_FILE = "logs/spider.log"
log.log.defaultObserver = log.log.DefaultObserver()
log.log.defaultObserver.start()
log.started = False
log.start(LOG_FILE, loglevel=log.INFO)
super(MySpider, self).__init__(name, **kwargs)
def parse(self,response):
....
raise Exception("Something went wrong!")
log.msg('Something went wrong!', log.ERROR)
# Somehow write to a separate error log here.
Run Code Online (Sandbox Code Playgroud)
然后我像这样运行蜘蛛:
scrapy crawl myspider
Run Code Online (Sandbox Code Playgroud)
这将存储所有log.INFO数据以及log.ERROR spider.log.
如果发生错误,我还想将这些详细信息存储在一个名为的单独日志文件中spider_errors.log.它可以更容易地搜索发生的错误,而不是试图扫描整个spider.log文件(这可能是巨大的).
有没有办法做到这一点?
编辑:
尝试使用PythonLoggingObserver:
def __init__(self, name=None, **kwargs):
LOG_FILE = 'logs/spider.log'
ERR_File = 'logs/spider_error.log'
observer = log.log.PythonLoggingObserver()
observer.start()
log.started = …Run Code Online (Sandbox Code Playgroud) 每当我执行jquery $ .post()时,我都会收到"取消"状态.这似乎是一个异步问题?我用的是访问本地项目http://127.0.0.1:8933/myproject/default/index.html
index.html的:
<script>
$(document).ready(function() {
$('#mybutton').click(function() {
var post_url = get_url(); // resolves to "/myproject/default/process_func"
var data = ...;
do_action(post_url, data);
});
});
</script>
<a href="" id="mybutton"> Click me! </a>
Run Code Online (Sandbox Code Playgroud)
util.js中:
function doPost(url, data) {
$.post(url, data).then(doSuccess, doFail):
function doSuccess(data) {
alert('Successful!');
}
function doFail(data) {
alert('Failed!');
}
}
function do_action(url, data) {
var jsondata = JSON.stringify(data);
// some other stuffs...
doPost(url, jsondata);
}
Run Code Online (Sandbox Code Playgroud)
我们的想法是将一些数据发回服务器,以便使用json数据进行处理.用户将点击锚点按钮,do_action()将触发,然后它将被发布doPost().
这似乎有效,因为我看到json数据传递给服务器上的处理函数.但是,我会看到警告消息"失败!" 即使数据已被处理,每次都会弹出.在chrome的调试面板中,我在"网络"选项卡下看到帖子的状态为" (已取消) ",整条线将以红色突出显示.所述类型为"待定".
我认为这是一个异步问题,但我不确定如何解决它.