填充 OpenCV Mat 的零值元素

我有 const ParentComponent = (props) => { return ( <Formik enableReinitialize initialValues={testState} validateonChange onSubmit={onSubmit} > {(formProps) => <MyFormComponent {...formProps} handleDirty={handleFormDirty}/>} </Formik> ); } const MyFormComponent = ({handleDirty,...formProps}) => { useEffect(() => { formProps.dirty && !isEmpty(formProps.touched) && handleFormDirty(); },[formProps.touched,formProps.dirty,handleDirty]); return ( <TestComponent/> ); } 个像下面这样的对象:

填充 OpenCV Mat 的零值元素

在这样的矩阵中,某些列插入了预定义(固定)数量的列,其中的值都为零。

我正在寻找一个过滤器来用一些列线性插值填充那些零列。例如,之前的 Mat 最终会像:

填充 OpenCV Mat 的零值元素

注意非零列的原始值不变。在此示例中,垫子尺寸为 3x7,但在我的应用程序中,实际尺寸通常比上面的尺寸大,例如 300x400 或更大。

我自己编写了代码来做到这一点。但是,我想知道是否存在使用 OpenCV 的本机功能执行相同操作的简化方法。

zhichaoc21614879 回答:填充 OpenCV Mat 的零值元素

如果您的零是特定模式中的列,您可以对非零值进行采样,然后调整大小(如评论中所述):

cv2.resize(mat[:,0::3],mat.shape)
本文链接:https://www.f2er.com/143.html

大家都在问