• 大小: 57.2MB
    文件类型: .gz
    金币: 2
    下载: 1 次
    发布日期: 2023-05-29
  • 语言: 其他
  • 标签: opencv  python  

资源简介

opencv-contrib 编译过程中缺失的vgg_generated_120.i等文件,复制在/home/****/opencv-3.4.2/modules/xfeatures2d/src目录下。

资源截图

代码片段和文件信息


//============================================================================
// Name        : OpenEXRimages_HDR_Retina_toneMapping.cpp
// Author      : Alexandre Benoit (benoit.alexandre.vision@gmail.com)
// Version     : 0.1
// Copyright   : Alexandre Benoit LISTIC Lab july 2011
// Description : HighDynamicRange retina tone mapping with the help of the Gipsa/Listic‘s retina in C++ Ansi-style
//============================================================================

#include 
#include 

#include “opencv2/bioinspired.hpp“ // retina based algorithms
#include “opencv2/imgproc.hpp“ // cvCvtcolor function
#include “opencv2/imgcodecs.hpp“ // imread
#include “opencv2/highgui.hpp“ // display

static void help(std::string errorMessage)
{
std::cout<<“Program init error : “< std::cout<<“\nProgram call procedure : ./OpenEXRimages_HDR_Retina_toneMapping [OpenEXR image to process]“< std::cout<<“\t[OpenEXR image to process] : the input HDR image to process must be an OpenEXR format see http://www.openexr.com/ to get some samples or create your own using camera bracketing and Photoshop or equivalent software for OpenEXR image synthesis“< std::cout<<“\nExamples:“< std::cout<<“\t-Image processing : ./OpenEXRimages_HDR_Retina_toneMapping memorial.exr“<}

// simple procedure for 1D curve tracing
static void drawPlot(const cv::Mat curve const std::string figuretitle const int lowerLimit const int upperLimit)
{
//std::cout<<“curve size(hw) = “< cv::Mat displayedCurveImage = cv::Mat::ones(200 curve.size().height CV_8U);

cv::Mat windowNormalizedCurve;
normalize(curve windowNormalizedCurve 0 200 cv::NORM_MINMAX CV_32F);

displayedCurveImage = cv::Scalar::all(255); // set a white background
int binW = cvRound((double)displayedCurveImage.cols/curve.size().height);

for( int i = 0; i < curve.size().height; i++ )
rectangle( displayedCurveImage cv::Point(i*binW displayedCurveImage.rows)
cv::Point((i+1)*binW displayedCurveImage.rows - cvRound(windowNormalizedCurve.at(i)))
cv::Scalar::all(0) -1 8 0 );
rectangle( displayedCurveImage cv::Point(0 0)
cv::Point((lowerLimit)*binW 200)
cv::Scalar::all(128) -1 8 0 );
rectangle( displayedCurveImage cv::Point(displayedCurveImage.cols 0)
cv::Point((upperLimit)*binW 200)
cv::Scalar::all(128) -1 8 0 );

cv::imshow(figuretitle displayedCurveImage);
}
/*
 * objective : get the gray level map of the input image and rescale it to the range [0-255]
 */
static void rescaleGrayLevelMat(const cv::Mat &inputMat cv::Mat &outputMat const float histogramClippingLimit)
{

// adjust output matrix wrt the input size but single channel
std::cout<<“Input image rescaling with histogram edges cutting (in order to eliminate bad pixels created during the HDR image creation) :“< //std::cout<<“=> image size (h

评论

共有 条评论