标签: image-processing

FFT和IFFT - Matlab和openCV中结果之间的差异

我正在尝试使用openCV将这个简单的Matlab代码转换为C++:

localstd=sqrt(abs(ifft2(fft2(output).*gf)));
Run Code Online (Sandbox Code Playgroud)

它意味着取矩阵"输出"的fft,将其逐个元素与矩阵"gf"相乘,然后取出它的ifft然后取其大小.

我正在尝试以下简单的代码:

Mat complexI;
dft(output, complexI,cv::DFT_SCALE||DFT_COMPLEX_OUTPUT);
Mat copmlexI2=Mat(n,n,CV_32F);
mulSpectrums(complexI,gf,copmlexI2,DFT_COMPLEX_OUTPUT);
dft(copmlexI2,copmlexI2,cv::DFT_INVERSE||DFT_COMPLEX_OUTPUT);

Mat planes[]= {Mat::zeros(output.size(), CV_32F), Mat::zeros(output.size(), CV_32F)};;
split(copmlexI2, planes);                   // planes[0] = Re(DFT(I), planes[1] = Im(DFT(I))
magnitude(planes[0], planes[1], planes[0]);// planes[0] = magnitude

Mat localstd = planes[0];

for (int i=0;i<localstd.rows;i++){
    for (int j=0;j<localstd.cols;j++){
        localstd.at<float>(i,j)= sqrt(localstd.at<float>(i,j));
    }
}

for (int i=0;i<localstd.rows;i++){
        for (int j=0;j<localstd.cols;j++){
            localstd.at<float>(i,j)/= 255;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这很简单.我正在拿"输出"的dft,将它的频谱乘以"df",然后取出它的ifft.接下来,我将结果分成实数和虚数平面并取大小.最后,我取其中的sqrt并用255除以标准化.

我得到的结果与我在Matlab中获得的结果非常不同.我在这里错过了什么?有关如何修复代码的任何想法?

提前致谢!

matlab opencv image-processing

-1
推荐指数
1
解决办法
1770
查看次数

应用图割算法检测盘子中的食物

我是学生。我的主管问我一个使用图割算法检测食物的项目。

我知道分割和标记是图割算法的应用。但是,当我在网上搜索时,只会发现有关该算法的基本信息。我需要更多详细信息,以便我可以从头开始编写代码。有人可以帮我做一个很好的教程吗?

c++ opencv image-processing

-1
推荐指数
1
解决办法
4774
查看次数

确定彩色图像的rgb平面

什么是彩色图像的红色,绿色或蓝色平面?我们如何生成红色平面?它与其他平面有何不同?请解释生成这些平面的逻辑?

matlab image image-processing

-1
推荐指数
1
解决办法
1724
查看次数

Matlab中值过滤器代码

我需要在MATLAB中为图像实现中值滤波.但是,我不允许在MATLAB中使用medfilt2ordfilt2函数.我们最近也开始学习MATLAB.

是否有可用于中值滤波器或高斯滤波器的代码?

matlab image image-processing filter median

-1
推荐指数
1
解决办法
3万
查看次数

从图像中的统一背景中提取页面

如果我有一张图像,其中有一页文字在均匀背景上拍摄,我该如何自动检测纸张和背景之间的边界?

我想要检测的图像示例如下所示.我将要处理的图像由统一背景上的单个页面组成,它们可以以任何角度旋转.

在此输入图像描述

matlab image image-processing computer-vision

-1
推荐指数
1
解决办法
382
查看次数

如何保存 Deepface detectorFace 中的图像?

我使用 Deepface 来检测和对齐面部

from deepface import DeepFace
import cv2

align_face = DeepFace.detectFace("base/g3.jpg")
Run Code Online (Sandbox Code Playgroud)

所以我需要将图像从align_fac保存为jpg。我该怎么做?

python opencv image-processing face-recognition

-1
推荐指数
1
解决办法
1699
查看次数

如何使用 OpenCV 掩盖图像上的某些颜色

我正在使用 OpenCV 处理这种图像:

在此输入图像描述

我有一个包含不同颜色的 numpy 数组,假设我认为这种颜色是用 BGR 编写的:[65 71 72]我想从图像中删除这种颜色,在这种颜色后面留下黑色空格。据我所知,我必须将图像转换为灰度,然后应用蒙版,但在蒙版中我说颜色的下边界和上边界是什么,而我不知道该颜色或任何颜色的边界是什么,以及什么是该颜色的灰度表示。我读到了许多不同的阈值技术,但所有示例都涉及颜色,例如(255 0 0).

python opencv image-processing

-1
推荐指数
1
解决办法
1万
查看次数

如何确定 3-D 射线穿过的第一个三角形(一组三角形中的)?

我正在尝试用Python解决以下问题。该问题来自我使用有限元法时的图像处理问题。

在我的问题中,我有一组三角形和一条射线。每个三角形由三个 3-D 点组成,射线采用 3-D 点和 3-D 矢量的形式。如何确定光线穿过的第一个三角形?现在我什至没有这方面的算法。任何意见将不胜感激。

python algorithm geometry image-processing

-1
推荐指数
1
解决办法
105
查看次数

如何替换opencv中的裁剪矩形?

我已经成功地用文本裁剪了一个边界框,例如给定这个图像:

在此输入图像描述

我能够准确地给出以下框:

在此输入图像描述

用这个代码:

import re
import shutil

from IPython.display import Image

import requests
import pytesseract, cv2

"""https://www.geeksforgeeks.org/text-detection-and-extraction-using-opencv-and-ocr/"""
# Preprocessing the image starts
# Convert the image to gray scale
img = cv2.imread('img.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Performing OTSU threshold
ret, thresh1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY_INV)

# Specify structure shape and kernel size.
# Kernel size increases or decreases the area
# of the rectangle to be detected.
# A smaller value like (10, 10) will detect …
Run Code Online (Sandbox Code Playgroud)

python opencv numpy image-processing

-1
推荐指数
1
解决办法
583
查看次数

使用 Python 查找图像中两点之间的物理距离

我有图像的两个坐标 (x, y)

Point N: (x = 2314, y = 751), Width = 2880, Hight = 2304
Point S: (x = 1533, y = 670), Width = 2880, Hight = 2304
Run Code Online (Sandbox Code Playgroud)

当我在 matplotlib 中绘制它们时,它们看起来像这样。(尽管我也在这里绘制了其他一些点。) -

(尽管我也在这里绘制了其他一些点。) -

现在,我想计算S and N 我知道的 X 射线板和 X 射线机器之间的距离是 180 厘米。

我已经尝试过使用该math功能。

distance = math.sqrt( ((N[0]-S[0])**2)+((N[1]-S[1])**2) )
print(distance)
Run Code Online (Sandbox Code Playgroud)

这给了我这样的结果 755.2747844327918

但我需要知道距离(以米为单位)。我怎样才能以某种方式做到这一点?

python math geometry image-processing computer-vision

-1
推荐指数
1
解决办法
480
查看次数