imagej得到灰度图数据_教你用免费软件Image J对WB结果进行灰度分析!

原标题:教你用免费软件Image J对WB结果进行灰度分析!

WB几乎是研究蛋白的童鞋必用的实验方法,前面我们也有两期文章讲了如何对WB图片进行处理:『WB图片处理-教你利用Photoshop做出符合杂志要求的WB图片!』『WB图片处理-教你利用PPT做出漂亮的WB图片!』而有时候,WB图片并不是那么的直观,这个时候,我们就需要将其量化,做成柱状图。WB图片灰度分析的软件有很多,今天我们就为大家介绍一款免费软件:Image J。

Image J是一款功能强大且免费的图像分析软件!该软件基于Java平台,是NIH开发的免费图像分析软件,支持Windows、Linux和Mac OS三大平台,在生物医学研究领域有着广泛的应用。Image J功能强大,有着如图像的区域大小和像素统计、细胞计数和灰度分析等诸多功能。今天科研小助手为大家介绍的是利用Image J对WB结果进行灰度分析!

1. Image J的下载:

https://imagej.nih.gov/ij/download.html

2. 下载之后解压,打开ImageJ.exe;

3. 点击File-Open打开目标图片,点击Image-Type-8-bit将图片转换为灰度图片;在这一步之后可能会有Protocol建议加一步Process-Subtract Background以祛除背景,科研小助手认为这一步可有可无,并不是特别重要。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Sobel边缘检测算子对灰度图进行边缘检测的C代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "bmpfile.h" #define PI 3.14159265358979323846 void sobel_edge_detection(unsigned char *src, unsigned char *dst, int width, int height) { int i, j, k, gx, gy, sum; int sobel_x[3][3] = {{-1, 0, 1}, {-2, 0, 2}, {-1, 0, 1}}; int sobel_y[3][3] = {{-1, -2, -1}, {0, 0, 0}, {1, 2, 1}}; // 对图像进行边缘检测 for (i = 1; i < height-1; i++) { for (j = 1; j < width-1; j++) { gx = gy = 0; for (k = 0; k < 3; k++) { gx += src[(i-1)*width+(j-1+k)] * sobel_x[0][k]; gx += src[(i+1)*width+(j-1+k)] * sobel_x[2][k]; gy += src[(i-1)*width+(j-1+k)] * sobel_y[0][k]; gy += src[(i+1)*width+(j-1+k)] * sobel_y[2][k]; } gx += src[i*width+(j-1)] * sobel_x[1][0]; gx += src[i*width+(j+1)] * sobel_x[1][2]; gy += src[i*width+(j-1)] * sobel_y[1][0]; gy += src[i*width+(j+1)] * sobel_y[1][2]; sum = abs(gx) + abs(gy); sum = sum > 255 ? 255 : sum; dst[i*width+j] = 255 - sum; } } } int main() { BMPFILEHEADER header; BMPINFOHEADER info; unsigned char *src, *dst; int width, height, size; FILE *fp; // 读入BMP图像 fp = fopen("image.bmp", "rb"); fread(&header, sizeof(header), 1, fp); fread(&info, sizeof(info), 1, fp); width = info.biWidth; height = info.biHeight; size = width * height; src = (unsigned char*)malloc(size); dst = (unsigned char*)malloc(size); fread(src, sizeof(unsigned char), size, fp); fclose(fp); // 对图像进行边缘检测 sobel_edge_detection(src, dst, width, height); // 将结果保存为BMP图像 fp = fopen("result.bmp", "wb"); fwrite(&header, sizeof(header), 1, fp); fwrite(&info, sizeof(info), 1, fp); fwrite(dst, sizeof(unsigned char), size, fp); fclose(fp); // 释放内存 free(src); free(dst); return 0; } ``` 其中,`sobel_edge_detection()`函数用于对图像进行边缘检测,使用了Sobel算子计算水平方向和竖直方向上的梯度,并将边缘强度计算为两个方向上的梯度的绝对值之和,最终得到边缘检测结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值