怎么用C++实现彩图到灰度图的转换(双峰法,迭代法都行)并设计一个有一定参数的界面展示前后两个图啊?

界面大概有:文件的选择输入,转换后的输出,输入照片的平移与旋转这几个功能。
最好有代码。。我是个新手,感觉没什么头绪,谢谢!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
双峰法实现图像分割
用双峰法实现图像的分割,软件为matlab。效果很好!希望对大家有用
怎么把彩图变灰度图?
各位高手前辈们,你们有谁知道彩图变灰度图的Java算法吗?我找了些书,可是没找到,只好在这求助高手了
彩色图像转灰度图_灰度图转二值图_双峰法自动阈值二值化[Matlab]
彩色图像转灰度图_灰度图转二值图_双峰法自动阈值二值化 彩色转灰度图 matlab提供了彩色图像转灰度图的函数——rgb2gray(colorImg)。该方法内部是通过Gray = 0.29900 * R + 0.58700 * G + 0.11400 * B该公式计算的。 这里采用了三种自定义函数实现彩色图到灰度图的转换 采用三通道的均值作为灰度值:CvtGrayByMean %...
彩图批量转灰度图
可以将bmp彩图批量转换为bmp灰度图,代码可以修改为其他格式,给的exe文件是bmp格式.亲测有效
彩图转灰度图
rnfor(int i=0;i<10;i++) rnrn rn rn CString str;rn str.Format("NEWFACE\\%d.bmp",i); rn //str=GetFilePath()+str;rn //加载位图 rn HBITMAP hBitmap; //定义位图对象句柄 rn hBitmap=(HBITMAP):: LoadImage ( AfxGetInstanceHandle(),str, IMAGE_BITMAP,0,0,LR_LOADFROMFILE);rn if(NULL==hBitmap) rn rn AfxMessageBox("不能打开文件"); rn return FALSE; rn rn CBitmap *pBitmap =CBitmap::FromHandle(hBitmap); rn BITMAP bmpinfo;rn pBitmap->GetBitmap(&bmpinfo);rn DWORD r,g,b;rn CDC * pDC;rn CDC DC;rn pDC=GetDC();rn if(!DC.CreateCompatibleDC(pDC) )rn rn return NULL;rn rn DC.SelectObject(hBitmap);rn for(int h=0;h<=bmpinfo.bmHeight;h++)rn rn for(int w=0;w<=bmpinfo.bmWidth;w++)rn rn r = GetRValue(DC.GetPixel(w,h)); rn g = GetGValue(DC.GetPixel(w,h)); rn b = GetBValue(DC.GetPixel(w,h));rn r = r *0.3 + g *0.59 + b*0.11; rn g = r; rn b = g; rnrn DC.SetPixel(w,h,RGB(r,g,b));rn rn rn //pBitmap->Attach(hBitmap);rn m_imaLarge.Add(pBitmap,RGB(0,0,0)); rn rnrn为什么我这样把图转换为灰度图放入imagelist时,但后来读imagelist中的图时读出来的是黑呼呼的一片的,
彩图转换为灰度图的c代码
在vc6.0编译器下,编写小程序,读入彩图转换出相应的灰色图像的代码。
直方图双峰法阈值分割
直方图双峰法阈值分割 该阈值化方法的依据是图像的直方图, 通过对直方图进行各种分析来实现对图像的分割。
matlab 实现双峰法全局阈值处理
img=imread('C:\Users\Administrator\Desktop\lwx.JPG'); im=rgb2gray(img); im_median=medfilt2(im); % 直方图 0-255 h = imhist(im_median); % 求极大值 粗略的算了一下 %IndMax=find(diff(sign(diff(count)))&amp;lt;0)+1; [cnt,x...
使用FreeImage保存彩图,灰度图
1.保存彩图 FIBITMAP* bitmap =FreeImage_Allocate(width,height,24); const unsigned char* source = data; for(int y=0; y &lt; height; y++ ) { unsigned char* scanline = (unsigned char*)Fr...
C语言 bmp彩图转灰度图 灰度图转二值图
C语言实现的bmp彩图转二值图;使用2*2模板灰度图转二值图
Android提高十六篇之使用NDK把彩图转换灰度图[转]
       在Android上使用JAVA实现彩图转换为灰度图,跟J2ME上的实现类似,不过遇到频繁地转换或者是大图转换时,就必须使用NDK来提高速度了。本文主要通过JAVA和NDK这两种方式来分别实现彩图转换为灰度图,并给出速度的对比。 先来简单地介绍一下Android的NDK使用步骤: 以NDK r4为例,或许以后新版的NDK的使用方法略有不同。1、下载支持C++的android...
Android提高十六篇之使用NDK把彩图转换灰度图
[url]http://blog.csdn.net/hellogv/archive/2010/12/23/6094127.aspx[/url] 在Android上使用JAVA实现彩图转换为灰度图,跟J2ME上的实现类似,不过遇到频繁地转换或者是大图转换时,就必须使用NDK来提高速度了。本文主要通过JAVA和NDK这两种方式来分别实现彩图转换为灰度图,并给出速度的对比。 先来简...
C怎么控制一个界面参数输入
我有一个可执行的EXE文件,每次打开,出现一个界面,可以填写参数,然后执行,请问C或者脚本可以实现对界面参数的填写吗?我没有那个EXE的文件的代码,只想实现批处理,省得一次一次填参数,出错率太高了rnrn如果能真的可以控制的话,这部分的方法叫什么,用什么语言或者脚本方便一些,求高手帮忙
灰度图的转换
灰度图的转换
灰度图转换
简单实用的灰度图转换
jaboci迭代法的c实现
利用c将jaboci迭代法完美实现,还可简单修改成gs和sor迭代法
newton法 迭代法
使用牛顿迭代法求解非线性方程,其原理是基于迈克劳林公式
迭代法 梯度法
数值分析计算方法 迭代法 梯度法 雅克比迭代 高斯赛德尔迭代 超松弛迭代法(SOR) 对称逐次超松弛迭代法(SSOR) 最速下降法 共轭梯度法
彩图和灰图(调色板)
从以下几个方面谈谈灰度化,什么是灰度化?为什么要灰度化?灰度化的方法? 之前老不理解王克师兄的基于全画面是啥意思,今天看了李雪梅.唐万有《印刷品缺陷检测的方法研究》终于似乎有些明白。“密度检测和色度检测虽然是有效的印刷质量控制方式,但这种控制方式主要依赖检测局部色块(测控条),缺陷检测要求操作者积累的经验和主观判断。” 可以看得出以前的检测方式是基于局部的,机器视觉的检测是基于整个画面的。 2...
第一张彩图系统图
-
开发方法原型法和迭代法有什么区别?
我个人理解,它们都差不多。请大家谈一谈!
用C语言设计界面
C语言显示界面,里面会有案例,设计出QQ的登陆界面,介绍十分详细。
BMP格式真彩图转灰度图
bmp格式的图片又称位图,在图像色彩变换中最为简单,操作简单易懂,适合初学者及需要这部分代码的开发者,本例程专门列出24位真彩图转8位灰度图部分的完整代码,并附有详细的注释,对了解bmp图片的协议和数据操作有很大帮助。此外,代码还包含线性平滑算子和sobel算子,可对图片进行“模糊处理”、“边缘锐化”等进一步的操作。希望可以帮助有需要的人们。对代码有疑问的可以私聊我。
色彩转换系列之RGB图转灰度图原理及实现
写在前面 彩色图转灰度图在图像处理中应用非常非常广泛,而且很多算法只对灰度图有效,所以彩色图转灰度是十分重要和关键的。 RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。它将色调,亮度,饱和度三个量放在一起表示,很难分开。它是最通用的面向硬件的彩色模型。该模型用于彩色监视器和一大类彩色视频摄像。 ...
opencv之批量转换灰度图并保存
opencv之批量转换灰度图并保存当图片名字有数字规律时,批量处理方式。①srcImage 图片名字有规律  ②将srcImage文件下的图片,转换为灰度图并保存入grayImage文件夹。 ③ 1 #include &amp;lt;iostream&amp;gt; 2 #include &amp;lt;opencv2/opencv.hpp&amp;gt; 3 #include &amp;lt;string&amp;gt; 4 usi...
C# 24位彩图转8位灰度图
将24位的彩色图片转化为8位的灰度图片 C#写的。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using
python-OpenCV 将数组转换成灰度图和彩图
主要步骤 1.生成普通python数组(bytearray(),os.urandom()) 2.转换成numpy数组(numpy.array()) 3.通过reshape将数组转换到所需的维数 4.以图像的形式显示出来(cv.imshow()) 代码 import os import cv2 as cv import numpy as np # Make an array of 1...
将真彩图转变为灰度图发生错位
以下为我将真彩图转变为灰度图的代码,有些真彩图可以正常转换,可是有些转换后发生错位,转换后的图被斜着分成几部分,该如何解决?rn[code=C/C++]rnvoid ColorToGray(LPSTR lpDIB, LONG lWidth, LONG lHeight)rnrn ASSERT(lpDIB!=NULL);rnrn // 图像每行的字节数rn LONG lLineBytes=WIDTHBYTES(lWidth*8);rn BYTE rgbBlue(0);rn BYTE rgbGreen(0);rn BYTE rgbRed(0);rnrn // 真彩色图像变成灰度图像rn if (DIBNumColors(lpDIB) == 0)rn rn // 位图信息头rn LPBITMAPINFOHEADER lpBI = (LPBITMAPINFOHEADER)lpDIB;rn lpBI->biSize = 40;rn lpBI->biWidth = lWidth;rn lpBI->biHeight = lHeight;rn lpBI->biPlanes = 1;rn lpBI->biBitCount = 8;rn lpBI->biCompression = 0;rn lpBI->biSizeImage = lLineBytes*lHeight;rn lpBI->biClrUsed = 0;rn lpBI->biClrImportant = 0;rn rn // DIB图像数据rn LPBYTE lpDIBBits=LPBYTE(lpDIB+(DWORD)(*lpDIB)); rn LPBYTE lpdesc=new BYTE[lLineBytes*lHeight];rn LONG i,j;rn for (j=0; jbmiColors[k].rgbRed=(BYTE)k;rn lpbmi->bmiColors[k].rgbGreen=(BYTE)k;rn lpbmi->bmiColors[k].rgbBlue=(BYTE)k;rn lpbmi->bmiColors[k].rgbReserved=0;rn rn rn elsern rn for (k=0; k<256; k++)rn rn lpbmc->bmciColors[k].rgbtRed=(BYTE)k;rn lpbmc->bmciColors[k].rgbtGreen=(BYTE)k;rn lpbmc->bmciColors[k].rgbtBlue=(BYTE)k;rn rn rn rnrn[/code]
摄像头抓下的彩图 转存 8位灰度图问题
rnrn //这是原函数,可以成功保存彩图rn BOOL SaveBitmap(BYTE * pBuffer, long lBufferSize )rn rn HANDLE hf = CreateFile(rn m_szFileName, GENERIC_WRITE, FILE_SHARE_READ, NULL,rn CREATE_ALWAYS, NULL, NULL );rn if( hf == INVALID_HANDLE_VALUE )return 0;rn // 写文件头 rn BITMAPFILEHEADER bfh;rn memset( &bfh, 0, sizeof( bfh ) );rn bfh.bfType ='MB';rn bfh.bfSize = sizeof( bfh ) + lBufferSize + sizeof( BITMAPINFOHEADER );rn bfh.bfOffBits = sizeof( BITMAPINFOHEADER ) + sizeof( BITMAPFILEHEADER );rn DWORD dwWritten = 0;rn WriteFile( hf, &bfh, sizeof( bfh ), &dwWritten, NULL );rn // 写位图格式rn BITMAPINFOHEADER bih;rn memset( &bih, 0, sizeof( bih ) );rn bih.biSize = sizeof( bih );rn bih.biWidth = lWidth;rn bih.biHeight = lHeight;rn bih.biPlanes = 1;rn bih.biBitCount = 24;rn WriteFile( hf, &bih, sizeof( bih ), &dwWritten, NULL );rn // 写位图数据rn WriteFile( hf, pBuffer, lBufferSize, &dwWritten, NULL );rn CloseHandle( hf );rn return 0;rn rnrnrn //这是新函数,竟然不可用,保存下的文件属性里面,没有 长宽信息,文件无法浏览rn //这个转存方法我在其他地方用过的,可以存下8位灰度图的rn BOOL SaveBitmap(BYTE * pBuffer, long lBufferSize )rn rn int pixelCount = lBufferSize/4;rnrn HANDLE hf = CreateFile(rn m_szFileName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, 0, NULL );rn if( hf == INVALID_HANDLE_VALUE ) return 0;rnrn rn // 写文件头 rn BITMAPFILEHEADER bfh;rn ZeroMemory(&bfh, sizeof(bfh));rn bfh.bfType = 'MB'; // Little-endian for "MB".rn bfh.bfSize = sizeof( bfh ) + sizeof(BITMAPINFOHEADER) + pixelCount + sizeof(RGBQUAD)*256;rn bfh.bfOffBits = sizeof( BITMAPFILEHEADER ) + sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD)*256;rn DWORD dwWritten = 0;rn WriteFile( hf, &bfh, sizeof( bfh ), &dwWritten, NULL );rnrn // 写位图格式rn BITMAPINFOHEADER bih;rn ZeroMemory(&bih, sizeof(bih));rn bih.biSize = sizeof( bih );rn bih.biWidth = lWidth;rn bih.biHeight = lHeight;rn bih.biPlanes = 1;//pVih->bmiHeader.biPlanes;rn bih.biBitCount = 8;//pVih->bmiHeader.biBitCount;rn bih.biCompression = BI_RGB;rn bih.biSizeImage = pixelCount;rn bih.biClrImportant = 0;rn bih.biClrUsed = 256;rn dwWritten = 0;rn WriteFile( hf, &bih, sizeof( bih ), &dwWritten, NULL );rn // 写位图数据rn //构造灰度图的调色版rn RGBQUAD rgbquad[256];rn for(int i=0;i<256;i++)rn rn rgbquad[i].rgbBlue=i;rn rgbquad[i].rgbGreen=i;rn rgbquad[i].rgbRed=i;rn rgbquad[i].rgbReserved=0;rn rn dwWritten = 0;rn WriteFile(hf,&rgbquad,sizeof(RGBQUAD)*256,&dwWritten, NULL);rnrn //write the bitmap bitsrn dwWritten = 0;rn BYTE *pTempBuf;rn BYTE *ptra = (BYTE *)pBuffer;rn pTempBuf = new BYTE[pixelCount];rn memset(pTempBuf,0,pixelCount);rn for (int j=0;j 255)rn pTempBuf[j] = 255;rn ptra +=4;rn rnrn WriteFile( hf, pTempBuf, pixelCount, &dwWritten, NULL );rn CloseHandle( hf );rn delete[] pTempBuf;rn return 0;rn rn求指正
用asp怎么实现简繁体转换啊?
我想在网站增加简体和繁体版,怎么实现啊?rnrn不要告诉专门做一个繁体版,那简体版稍有一点变化,繁体也要做相应修改,那不是烦死啦????大虾,救命啊~~~~~
Matlab之索引图像转化为灰度图和真彩图
本篇只讲应用不讲原理 在进行数字图像处理时,需要将图像转换成灰度图。如truecolor转化为灰度图,可用函数rgb2gray即可实现,语法也比较简单。如下: grayImage=rgb2gray(srcImage); 加载完图片后可使用imfinfo()函数查看图像信息,通过colorType判断图像是什么类型,如为indexed即图像是索引图像。在Matlab函数库中可查找到
邻接矩阵法实现图C代码
使用邻接矩阵法实现图,包含如下操作: 1. 创建图; 2. 销毁图; 3. 清空图; 4. 加入边; 5. 删除边; 6. 获取权; 7. 获取结点的度; 8. 获取图的结点数; 9. 获取图的边数。
邻接链表法实现图C代码
邻接链表实现图的操作,具体操如下: 1. 创建图; 2. 销毁图; 3. 清空图; 4. 加入边; 5. 删除边; 6. 获取权; 7. 获取结点的度; 8. 获取图的结点数; 9. 获取图的边数。
Python cv2灰度图转伪彩图
import cv2 import os import pdbdata_path = './output/density_maps_mcnn_shtechA_660/' file_name = 'output_IMG_1.png' out_path = './out-temp/' im_dir = os.path.join(data_path,file_name) img = cv2.imread(
Opencv+python3学习--生成随机灰度图和彩图
    将随机字节的bytearray转换成灰度图或者彩图。灰度图为单通道图,每个像素一个字节,8位,范围0-255,代表灰度值。灰度图是一个二维数组。彩图三通道,每个像素有三个字节,每个字节分别代表BLUE,GREEN,RED三种颜色的值,8位,范围0-255,彩图是一个三维数组。     在opencv3+python3中,cv2.imwrite()不能保存路径含中文的图片。     附代...
还是关于灰度图的,怎么感觉彩图变灰后变暗了?
是我眼睛问题还是什么问题,为什么用30,59,11把彩图转灰后感觉有些颜色的部分变暗了,色差还是怎么的呢,大家有没有这种,另外和地域什么的有没有关系,是不是显示器什么的也有色温什么的,亚洲和欧洲人色视不同什么的,所以总感觉30,59,11这东西不搞懂不靠谱啊。
迭代法、穷举搜索法、递推法、递归.....
迭代法、穷举搜索法、递推法、递归、回溯法、贪婪法、分治法、动态规划法
【求助】做图像分割,求双峰法的C/C++源代码
在做图像分割,需要用到直方图的双峰法,跪求C/C++源代码啊...
图像基本变换---图像二值化(包含OSTU/迭代法/统计法/双峰法/P分位法/最大熵法)
本文详细介绍了图像基本变换---图像二值化(包含OSTU/迭代法/统计法/双峰法/P分位法/最大熵法)的相关知识,并 给出了完整程序DEMO的下载链接,跟大家分享一下,希望大家喜欢!
迭代法,原形法,快速原形法的关系?
是谁是谁的一种还是叫法不同?
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法