利用Opencv进行图像灰度变换处理

本文介绍如何在Win32控制台环境中通过创建窗口和按钮来实现图像处理功能,包括打开图像、二值化、对数变换、伽马变换以及补色变换等图像灰度变换操作。
摘要由CSDN通过智能技术生成
1、利用 OpenCV 读取图像。
具体内容:用打开 OpenCV 打开图像,并在窗口中显示
2、灰度图像二值化处理
具体内容:设置并调整阈值对图像进行二值化处理。
3、灰度图像的对数变换
具体内容:设置并调整 r 值对图像进行对数变换。
4、灰度图像的伽马变换
具体内容:设置并调整γ值对图像进行伽马变换。
5、彩色图像的补色变换

具体内容:对彩色图像进行补色变换。


具体实现:在Win32控制台下创建1个新窗口,然后在窗口上添加5个按钮,分别对应“打开图像”,“二值化处理”,”对数变换“,”伽马变换“,”补色变换“这5个功能。


具体代码:

// Test.cpp : 定义控制台应用程序的入口点。
//
#pragma comment(lib,"user32")
#pragma comment(lib,"gbi32")

#include "stdafx.h"
#include <tchar.h>
#include <iostream>
#include <Windows.h>
#include <stdlib.h>
#include <cv.h>
#include <highgui.h>
#include <cxcore.h>
#include <cvaux.h>

//#include <atlstr.h>

#define MAX_STR 100
#define NUM 5

//全局变量
HINSTANCE hInst;//当前实例
TCHAR szTitle[MAX_STR] = _TEXT("Console_Win Demo");   //标题栏文本
TCHAR szWindowClass[MAX_STR] = _TEXT("Console_Win Demo");//主窗口类名
TCHAR* btnName[NUM]={_T("打开图像"),_T("二值化处理"),_T("对数变换"),_T("伽马变换"),_T("补色变换")};

//此代码模块中包含的函数的前向声明:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow);
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);
void handleImage(IplImage* src, IplImage* dst, int threshold);
void handleLogImage(IplImage* src, IplImage* dst);
int logfun(int color);
void handleGamaImage(IplImage* src, IplImage* dst);
int gama(int color);
void handleBuseImage(IplImage* src, IplImage* dst);
void buSe(CvScalar &px)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值