我正在为我的应用程序创建脚本编辑器,并且我希望能够使用Roslyn运行C#和VB.NET脚本。我使用cv2.hconcat()
程序集/命名空间中的hconcat
类来使用C#,但是我找不到等效的vconcat
类,也没有import numpy as np
import cv2
import matplotlib.pyplot as plt
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
bg = [[[0] * len(frame[0]) for _ in xrange(len(frame))] for _ in xrange(3)]
while(True):
ret, frame = cap.read()
# Resizing down the image to fit in the screen.
frame = cv2.resize(frame, None, fx = 0.5, fy = 0.5, interpolation = cv2.INTER_CUBIC)
# creating another frame.
channels = cv2.split(frame)
frame_merge = cv2.merge(channels)
# horizintally concatenating the two frames.
final_frame = cv2.hconcat((frame, frame_merge))
# Show the concatenated frame using imshow.
cv2.imshow('frame',final_frame)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
程序集。我已经浏览了网页,发现运行VB.NET脚本没什么用处,Roslyn github网站上的所有示例都是C#特有的。我是否遗漏了某些内容,或者是否支持运行VB.NET脚本的方式与C#脚本不一样?
答案 0 :(得分:1)
Visual Basic Scripting is not currently available,大概是因为it's not finished。
但是its source is is the Roslyn repo,所以你可以尝试自己构建它。
当我这样做时,以下代码对我有用:
Dim result = VisualBasicScript.RunAsync("Dim result = 1+1").Result
For Each variable In result.Variables
Console.WriteLine($"{variable.Name}: {variable.Value}")
Next
但是这段代码对我不起作用(编译脚本时失败):
Console.WriteLine(VisualBasicScript.EvaluateAsync("1+1").Result)
我不确定这是因为它没有完成,还是与C#脚本有意无异。