像素重映射

1 、原理

把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去,形成一张新的图像


image.png

2 、API 介绍

Remap(
InputArray src,// 输入图像
OutputArray dst,// 输出图像
InputArray  map1,// x 映射表 CV_32FC1/CV_32FC2
InputArray map2,// y 映射表
int interpolation,// 选择的插值方法,常见线性插值,可选择立方等
int borderMode,// BORDER_CONSTANT
const Scalar borderValue// color 
)
CV_<bit_depth>(S|U|F)C<number_of_channels>


1--bit_depth---比特数---代表8bite,16bites,32bites,64bites---举个例子吧--比如说,如
        如果你现在创建了一个存储--灰度图片的Mat对象,这个图像的大小为宽100,高100,那么,现在这张
        灰度图片中有10000个像素点,它每一个像素点在内存空间所占的空间大小是8bite,8位--所以它对
        应的就是CV_8
     2--S|U|F--S--代表---signed int---有符号整形
               U--代表--unsigned int--无符号整形
               F--代表--float---------单精度浮点型
     3--C<number_of_channels>----代表---一张图片的通道数,比如:
         1--灰度图片--grayImg---是--单通道图像
         2--RGB彩色图像---------是--3通道图像
         3--带Alph通道的RGB图像--是--4通道图像

3 、整体代码测试

#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>

using namespace cv;
using namespace std;
int main(int argc, char** argv) {
    Mat src, dst,fx,fy;
    src = imread("D:\\7.jpg");
    if (!src.data) {
        printf("could not load image...\n");
        return -1;
    }
    char INPUT_TITLE[] = "input image";
    char OUTPUT_TITLE[] = "hough circle demo";
    namedWindow(INPUT_TITLE, CV_WINDOW_AUTOSIZE);
    namedWindow(OUTPUT_TITLE, CV_WINDOW_AUTOSIZE);
    imshow(INPUT_TITLE, src);


    dst.create(src.size(), src.type());
    fx.create(src.size(), CV_32FC1);
    fy.create(src.size(), CV_32FC1);
    int srows = fx.rows;
    int scol  = fx.cols;
    cout << fx.rows << fx.cols;
    for (int j = 0; j < srows; j++)
    {
        for (int i = 0; i < scol; i++)
        {
            //x与y均翻转
            fx.at<float>(j, i) = srows - i-200;
            fy.at<float>(j, i) = j;
        }
    }
    remap(src, dst, fx, fy, INTER_LINEAR, BORDER_REPLICATE, Scalar(0, 255, 255));
    imshow(OUTPUT_TITLE, dst);

    waitKey(0);
    return 0;
}
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载自VR设计云课堂[https://www.jianshu.com/u/c7ffdc4b379e]Unity S...
    水月凡阅读 1,235评论 0赞 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,847评论 1赞 32
  • 陌上一枝梅, 天寒独自开。 此情无别意, 为有惠风来。
    郭大牛阅读 744评论 18赞 32
  • 来斯堡已经有11天了 ,时间快到超乎我的想象,大概是小城节奏慢,车马慢,连空气都慢一些。一早起来 ,不,根本就不早...
    红脸西兰花阅读 215评论 0赞 1
  • 站在三十岁的边上,亲爱的-- 你要勇敢些 蜂拥的“箴言”想要打乱你的脚步 每一声议论都是嚣张地诅咒 黑夜隐藏了你的...
    拥野阅读 202评论 2赞 3

友情链接更多精彩内容