Opencv 透明绘图-性能问题
我使用此代码在一些Opencv 透明绘图-性能问题,opencv,Opencv,我使用此代码在一些cv::Mat上以透明方式绘制线条,其中Alpha对于每条线条都是不同的: cv::Mat render(){ for(size_t i=0;i<n;++i){ auto trasparent_layer = canava.clone(); cv::line(trasparent_layer, lines[i].p1, lines[i].p2, color, 10); const auto alpha = get_a
cv::Mat
上以透明方式绘制线条,其中Alpha对于每条线条都是不同的:
cv::Mat render(){
for(size_t i=0;i<n;++i){
auto trasparent_layer = canava.clone();
cv::line(trasparent_layer, lines[i].p1, lines[i].p2, color, 10);
const auto alpha = get_alpha(i); //Alpha is different for each line
cv::addWeighted(trasparent_layer, alpha, canava, 1-alpha, 0, canava);
}
return canava;
}
cv::Mat render(){
对于(size_t i=0;i使用LineIterator并手动混合线条上的每个像素?)faster@Miki谢谢,这很有趣。我以前不知道。尝试..您可以看到使用LineIterator的示例,我们刚刚实现并尝试了它..LineIterator是一个非常有用的工具。但是,我最近发现我需要笔划宽度的线条。不仅仅是1像素宽度线:(如果这个想法可行的话,你可以1)使用Bresenham算法,或者2)在LineIterator上为你的每个点画一个给定半径的圆。。。