当前位置:首页 » 编程语言 » c语言输出图像

c语言输出图像

发布时间: 2022-12-18 20:11:27

‘壹’ c语言简单图像输出问题

#include <stdio.h>
int main(int argc, char *argv[])
{
int i,j,k,n;
n=15;//n可改变
for(i=0;i<2*n-1;i++)
{
k=i+1-n>0?i+1-n:n-i-1;
for(j=0;j<n-1-k;j++)
putchar(' ');
if(i!=n-1)putchar('2');
for(j=0;j<2*k-1;j++)
putchar(' ');
putchar('2');
putchar(10);

}
return 0;
}


‘贰’ C语言编写输出图形

第一行0个空格
第二行1个空格
第三行2个空格
第四行3个空格,
所以空格数等于第几行数减一,即空格小于第几行数

‘叁’ 如何利用c语言实现像素图形的输出

1、可以变成灰度图也可以不变。这里假设你的图像都是IPL_DEPTH_8U类型。

2、如果变成灰度图,就是单通道图像,获取的就是每一个像素点的灰度值。
IplImage* img = cvLoadImage("test.bmp", 0);
for (int i = 0; i < img->height; i++)
{
for (int j = 0; j < img->width; j++)
{
//方法一:使用cvGet2D()函数间接访问
CvScalar s = cvGet2D(img, i, j); //其中i代表y轴(第i行),即height;j代表x轴(第j列),即width。
printf("gray value=%f\n",s.val[0]);

//方法二:使用直接访问
uchar val = ((uchar *)(img->imageData + i*img->widthStep))[j]; //i和j的意义同上
printf("gray value=%d\n",val);
}
}

3、如果不变成灰度图,就是3通道图像,获取的就是每一个像素点的BGR值,然后分别获取B值,G值和R值。
IplImage* img = cvLoadImage("test.bmp", 1);
for (int i = 0; i < img->height; i++)
{
for (int j = 0; j < img->width; j++)
{
//方法一:使用cvGet2D()函数间接访问
CvScalar s=cvGet2D(img,i,j); //其中i代表y轴(第i行),即height;j代表x轴(第j列),即width。
printf("B=%f, G=%f, R=%f\n",s.val[0],s.val[1],s.val[2]); //注意是BGR顺序

//方法二:使用直接访问
int bVal = ((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 0]; // B
int gVal = ((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 1]; // G
int rVal = ((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 2]; // R
printf("B=%d, G=%d, R=%d\n",bVal,gVal,rVal); //注意是BGR顺序
}
}

‘肆’ c语言中如何输出图像

如果使用Printf只能输出由数字组成的画面,只有用MFC类程序,使用
API函数
输入

‘伍’ C语言中如何输出图形

你可以采用循环的方法来做,需要输出A的位置的时候就输出A,其他地方就输出空格,就行了

#include<stdio.h>

voidmain()

{

inti,j,n;

printf("请输入要输出几行: ");

scanf("%d",&n);

for(i=0;i<=n;i++)

{

for(j=0;j<n-i;j++)//每行前的空格控制

printf("");

for(intk=0;k<=2*i-1;k++)输出字母

{

if(k==0||k==2*i-2)输出A

printf("A");

else

printf("");

}

printf(" ");//换行

}

}

‘陆’ c语言中如何输出图像

lz需要弄清楚,你要输出什么格式的图像,bmp,JPG。。。不同格式的图像的数据内部结构是不一样的,弄清楚不同格式图片的数据结构组成,直接采用相应地算法,用C语言文件输出函数(fopen,fprintf……那几个函数,具体我也忘了怎么用了)将数据点写入文件就行了。

热点内容
IR实现编译器 发布:2025-01-27 13:30:38 浏览:459
android图片过大 发布:2025-01-27 13:30:34 浏览:426
公司服务器怎么搭建网站 发布:2025-01-27 13:24:43 浏览:920
光可以存储 发布:2025-01-27 13:14:47 浏览:676
手机网盘加密文件 发布:2025-01-27 13:11:43 浏览:694
唐山有线机顶盒密码是多少 发布:2025-01-27 13:10:25 浏览:251
如何让电脑上拥有移动式服务器 发布:2025-01-27 13:04:46 浏览:67
漫威超级战争如何配置核心组合 发布:2025-01-27 13:03:19 浏览:954
c语言五子棋程序 发布:2025-01-27 12:58:43 浏览:157
win10流媒体服务器怎么搭建 发布:2025-01-27 12:58:04 浏览:384