singleview---main.cpp

#include "main.h"
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;

//source image
Mat srcImage;
//Blur image
Mat BlurImage;
//output image
Mat dstImage;

void MyGammaCorrection(Mat& src, Mat& dst, float fGamma);

int main()
{
	Mat gaussian_Img,gaussian_canny_Img;
	srcImage=imread(INPUT_IMAGE);
	if(srcImage.empty())
	{
		cout<<"error to load image...";
		return -1;
	}

	MyGammaCorrection(srcImage,dstImage,1/2.2);

	GaussianBlur(srcImage,BlurImage,Size(11,11),0,0);
	imwrite("gaussianblur.jpg",BlurImage);
	BackProjection();
	HogGradient( );
	//GaussianBlur(srcImage,gaussian_Img,Size(5,5),0,0);
	//Canny(gaussian_Img,gaussian_canny_Img,240,50);

	imshow("srcImage",srcImage);
	//imshow("gaussian_image",gaussian_Img);
	//imshow("gaussian_canny_Img",gaussian_canny_Img);

	waitKey();
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是用 C 语言实现绘制贝塞尔曲面的代码,需要在 C++ 环境下进行编译: ```c #include <stdio.h> #include <stdlib.h> #include <math.h> #include <GL/glut.h> float ctrlpoints[4][4][3] = { {{-1.5, -1.5, 4.0}, {-0.5, -1.5, 2.0}, {0.5, -1.5, -1.0}, {1.5, -1.5, 2.0}}, {{-1.5, -0.5, 1.0}, {-0.5, -0.5, 3.0}, {0.5, -0.5, 0.0}, {1.5, -0.5, -1.0}}, {{-1.5, 0.5, 4.0}, {-0.5, 0.5, 0.0}, {0.5, 0.5, 3.0}, {1.5, 0.5, 4.0}}, {{-1.5, 1.5, -2.0}, {-0.5, 1.5, -2.0}, {0.5, 1.5, 0.0}, {1.5, 1.5, -1.0}} }; void init(void) { glClearColor(0.0, 0.0, 0.0, 0.0); glShadeModel(GL_FLAT); glEnable(GL_DEPTH_TEST); } void display(void) { int i, j; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); glPushMatrix(); glRotatef(85.0, 1.0, 1.0, 1.0); for (j = 0; j <= 8; j++) { glBegin(GL_LINE_STRIP); for (i = 0; i <= 30; i++) glEvalCoord2f((GLfloat)i/30.0, (GLfloat)j/8.0); glEnd(); glBegin(GL_LINE_STRIP); for (i = 0; i <= 30; i++) glEvalCoord2f((GLfloat)j/8.0, (GLfloat)i/30.0); glEnd(); } glPopMatrix(); glFlush(); } void reshape(int w, int h) { glViewport(0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (w <= h) glOrtho(-4.0, 4.0, -4.0*(GLfloat)h/(GLfloat)w, 4.0*(GLfloat)h/(GLfloat)w, -4.0, 4.0); else glOrtho(-4.0*(GLfloat)w/(GLfloat)h, 4.0*(GLfloat)w/(GLfloat)h, -4.0, 4.0, -4.0, 4.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500, 500); glutInitWindowPosition(100, 100); glutCreateWindow(argv[0]); init(); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMainLoop(); } ``` 这个代码使用 OpenGL 库进行绘制,通过 `glEvalCoord2f` 函数来生成曲面。在 `display` 函数中,通过循环调用 `glEvalCoord2f` 函数来绘制曲面。在 `reshape` 函数中,对视口进行了设置,以适应窗口大小的变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值